@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.
- package/README.md +12 -0
- package/dist/crewfoundry/CrewFoundryRoot.d.ts +5 -0
- package/dist/crewfoundry/CrewFoundryRoot.d.ts.map +1 -0
- package/dist/crewfoundry/CrewFoundryRoot.js +465 -0
- package/dist/crewfoundry/CrewFoundryRoot.js.map +1 -0
- package/dist/crewfoundry/CrewFoundryRoutes.d.ts +2 -0
- package/dist/crewfoundry/CrewFoundryRoutes.d.ts.map +1 -0
- package/dist/crewfoundry/CrewFoundryRoutes.js +291 -0
- package/dist/crewfoundry/CrewFoundryRoutes.js.map +1 -0
- package/dist/crewfoundry/index.d.ts +5 -0
- package/dist/crewfoundry/index.d.ts.map +1 -0
- package/dist/crewfoundry/index.js +3 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.js +267 -0
- package/dist/crewfoundry/pages/AdminAdminPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js +271 -0
- package/dist/crewfoundry/pages/AnalyticsAnalyticsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js +337 -0
- package/dist/crewfoundry/pages/AnalyticsEmployeeAnalyticsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js +344 -0
- package/dist/crewfoundry/pages/AnalyticsFinancialAnalyticsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js +341 -0
- package/dist/crewfoundry/pages/AnalyticsHiringAnalyticsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js +121 -0
- package/dist/crewfoundry/pages/CommunicationsAnnouncementsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsCallsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsCallsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js +124 -0
- package/dist/crewfoundry/pages/CommunicationsCallsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js +93 -0
- package/dist/crewfoundry/pages/CommunicationsDirectoryPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsFilesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsFilesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js +138 -0
- package/dist/crewfoundry/pages/CommunicationsFilesPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js +118 -0
- package/dist/crewfoundry/pages/CommunicationsMessagesPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js +62 -0
- package/dist/crewfoundry/pages/CommunicationsTeamsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js +178 -0
- package/dist/crewfoundry/pages/CommunicationsVideoCallsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CompanyClientManagementPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CompanyClientManagementPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js +138 -0
- package/dist/crewfoundry/pages/CompanyClientManagementPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js +144 -0
- package/dist/crewfoundry/pages/CompanyCompanyDashboardPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js +234 -0
- package/dist/crewfoundry/pages/CompanyCompanyProfilePagePage.js.map +1 -0
- package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js +84 -0
- package/dist/crewfoundry/pages/CompanyVendorManagementPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js +287 -0
- package/dist/crewfoundry/pages/DashboardAnalyticsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/DashboardDashboardPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/DashboardDashboardPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/DashboardDashboardPagePage.js +230 -0
- package/dist/crewfoundry/pages/DashboardDashboardPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js +365 -0
- package/dist/crewfoundry/pages/DashboardEnhancedDashboardPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts +2 -0
- package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js +340 -0
- package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js.map +1 -0
- package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js +299 -0
- package/dist/crewfoundry/pages/HelpApiDocumentationPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HiringApplicationsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringApplicationsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringApplicationsPagePage.js +183 -0
- package/dist/crewfoundry/pages/HiringApplicationsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HiringCandidatesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringCandidatesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringCandidatesPagePage.js +124 -0
- package/dist/crewfoundry/pages/HiringCandidatesPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HiringCreateJobPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringCreateJobPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringCreateJobPagePage.js +163 -0
- package/dist/crewfoundry/pages/HiringCreateJobPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HiringInterviewsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringInterviewsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringInterviewsPagePage.js +148 -0
- package/dist/crewfoundry/pages/HiringInterviewsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HiringJobDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringJobDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js +203 -0
- package/dist/crewfoundry/pages/HiringJobDetailsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HiringJobsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HiringJobsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HiringJobsPagePage.js +115 -0
- package/dist/crewfoundry/pages/HiringJobsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HrDepartmentsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrDepartmentsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrDepartmentsPagePage.js +145 -0
- package/dist/crewfoundry/pages/HrDepartmentsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HrEmployeesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrEmployeesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrEmployeesPagePage.js +183 -0
- package/dist/crewfoundry/pages/HrEmployeesPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HrLeaveManagementPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrLeaveManagementPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js +238 -0
- package/dist/crewfoundry/pages/HrLeaveManagementPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HrPayrollPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrPayrollPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrPayrollPagePage.js +191 -0
- package/dist/crewfoundry/pages/HrPayrollPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/HrTimeTrackingPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/HrTimeTrackingPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js +158 -0
- package/dist/crewfoundry/pages/HrTimeTrackingPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningAssessmentsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningAssessmentsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js +136 -0
- package/dist/crewfoundry/pages/LearningAssessmentsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningCertificatesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningCertificatesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningCertificatesPagePage.js +103 -0
- package/dist/crewfoundry/pages/LearningCertificatesPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js +135 -0
- package/dist/crewfoundry/pages/LearningCourseDetailsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningCourseLearningPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningCourseLearningPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js +111 -0
- package/dist/crewfoundry/pages/LearningCourseLearningPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningCoursesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningCoursesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningCoursesPagePage.js +97 -0
- package/dist/crewfoundry/pages/LearningCoursesPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js +170 -0
- package/dist/crewfoundry/pages/LearningLearningAnalyticsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningLearningPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningPagePage.js +154 -0
- package/dist/crewfoundry/pages/LearningLearningPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js +140 -0
- package/dist/crewfoundry/pages/LearningLearningPathDetailPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningPathsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningLearningPathsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js +74 -0
- package/dist/crewfoundry/pages/LearningLearningPathsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/LearningMyLearningPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/LearningMyLearningPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/LearningMyLearningPagePage.js +166 -0
- package/dist/crewfoundry/pages/LearningMyLearningPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js +118 -0
- package/dist/crewfoundry/pages/MarketplaceBookingManagementPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js +148 -0
- package/dist/crewfoundry/pages/MarketplaceEarningsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js +443 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePageEnhancedPage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js +272 -0
- package/dist/crewfoundry/pages/MarketplaceFreelancerProfilePagePage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js +136 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplacePagePage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js +104 -0
- package/dist/crewfoundry/pages/MarketplaceMarketplaceServicesPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js +91 -0
- package/dist/crewfoundry/pages/MarketplaceMessagingPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js +80 -0
- package/dist/crewfoundry/pages/MarketplaceMyServicesPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js +155 -0
- package/dist/crewfoundry/pages/MarketplaceProjectDetailsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js +107 -0
- package/dist/crewfoundry/pages/MarketplaceServiceDetailsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/PaymentsEscrowPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsEscrowPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js +133 -0
- package/dist/crewfoundry/pages/PaymentsEscrowPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js +79 -0
- package/dist/crewfoundry/pages/PaymentsInvoicesPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js +113 -0
- package/dist/crewfoundry/pages/PaymentsPaymentDashboardPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js +80 -0
- package/dist/crewfoundry/pages/PaymentsPaymentMethodsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/PaymentsSecurityPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/PaymentsSecurityPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js +172 -0
- package/dist/crewfoundry/pages/PaymentsSecurityPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js +98 -0
- package/dist/crewfoundry/pages/ProjectsCreateProjectPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js +163 -0
- package/dist/crewfoundry/pages/ProjectsProjectDetailsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/ProjectsProjectsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/ProjectsProjectsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js +115 -0
- package/dist/crewfoundry/pages/ProjectsProjectsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js +141 -0
- package/dist/crewfoundry/pages/TeamsTeamAnalyticsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js +176 -0
- package/dist/crewfoundry/pages/TeamsTeamDetailPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js +83 -0
- package/dist/crewfoundry/pages/TeamsTeamDirectoryPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js +314 -0
- package/dist/crewfoundry/pages/TeamsTeamSettingsPagePage.js.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamsPagePage.d.ts +2 -0
- package/dist/crewfoundry/pages/TeamsTeamsPagePage.d.ts.map +1 -0
- package/dist/crewfoundry/pages/TeamsTeamsPagePage.js +77 -0
- package/dist/crewfoundry/pages/TeamsTeamsPagePage.js.map +1 -0
- package/dist/crewfoundry/providers/CrewFoundryProvider.d.ts +6 -0
- package/dist/crewfoundry/providers/CrewFoundryProvider.d.ts.map +1 -0
- package/dist/crewfoundry/providers/CrewFoundryProvider.js +27 -0
- package/dist/crewfoundry/providers/CrewFoundryProvider.js.map +1 -0
- package/dist/crewfoundry/store/crewfoundryStore.d.ts +305 -0
- package/dist/crewfoundry/store/crewfoundryStore.d.ts.map +1 -0
- package/dist/crewfoundry/store/crewfoundryStore.js +326 -0
- package/dist/crewfoundry/store/crewfoundryStore.js.map +1 -0
- package/dist/crewfoundry/types/index.d.ts +51 -0
- package/dist/crewfoundry/types/index.d.ts.map +1 -0
- package/dist/crewfoundry/utils/cn.d.ts +4 -0
- package/dist/crewfoundry/utils/cn.d.ts.map +1 -0
- package/dist/crewfoundry/utils/navigation.d.ts +2 -0
- package/dist/crewfoundry/utils/navigation.d.ts.map +1 -0
- package/dist/crewfoundry/utils/navigation.js +8 -0
- package/dist/crewfoundry/utils/navigation.js.map +1 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +20716 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +53363 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/package.json +108 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
|
|
2
|
+
import { useMemo as t } from "react";
|
|
3
|
+
import { DollarSign as n, Lock as r, ShieldCheck as i } from "lucide-react";
|
|
4
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
5
|
+
import { Badge as s, Card as c, CardContent as l, CardHeader as u, CardTitle as d } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
//#region src/crewfoundry/pages/PaymentsEscrowPagePage.tsx
|
|
7
|
+
function f() {
|
|
8
|
+
let { projects: f, invoices: p, payrollRecords: m } = e(), h = t(() => f.slice(0, 10).map((e, t) => {
|
|
9
|
+
let n = p[t % Math.max(p.length, 1)], r = m[t % Math.max(m.length, 1)], i = Math.max(e.budget || 0, n?.amount || 0, 1e3), a = Math.min(e.spent || 0, i), o = Math.max(0, Math.round(e.progress / 100 * 5)), s = Math.max(o + 1, 3), c = a >= i ? "completed" : a > 0 ? "active" : r?.status === "approved" ? "funded" : "active";
|
|
10
|
+
return {
|
|
11
|
+
id: e.id,
|
|
12
|
+
project: e.name,
|
|
13
|
+
provider: r?.employeeName || e.managerName,
|
|
14
|
+
amount: i,
|
|
15
|
+
released: a,
|
|
16
|
+
status: c,
|
|
17
|
+
milestones: s,
|
|
18
|
+
completedMilestones: Math.min(o, s)
|
|
19
|
+
};
|
|
20
|
+
}), [
|
|
21
|
+
p,
|
|
22
|
+
m,
|
|
23
|
+
f
|
|
24
|
+
]), g = h.reduce((e, t) => e + t.amount, 0), _ = h.reduce((e, t) => e + t.released, 0);
|
|
25
|
+
return /* @__PURE__ */ o("div", {
|
|
26
|
+
className: "space-y-6 p-6",
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
|
|
29
|
+
className: "text-2xl font-semibold",
|
|
30
|
+
children: "Escrow"
|
|
31
|
+
}), /* @__PURE__ */ a("p", {
|
|
32
|
+
className: "text-sm text-muted-foreground",
|
|
33
|
+
children: "Secure payment holding for service contracts"
|
|
34
|
+
})] }),
|
|
35
|
+
/* @__PURE__ */ o("div", {
|
|
36
|
+
className: "grid gap-4 md:grid-cols-3",
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o(u, {
|
|
39
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
40
|
+
children: [/* @__PURE__ */ a(d, {
|
|
41
|
+
className: "text-sm font-medium",
|
|
42
|
+
children: "Total in Escrow"
|
|
43
|
+
}), /* @__PURE__ */ a(r, { className: "h-4 w-4 text-muted-foreground" })]
|
|
44
|
+
}), /* @__PURE__ */ a(l, { children: /* @__PURE__ */ o("div", {
|
|
45
|
+
className: "text-2xl font-bold",
|
|
46
|
+
children: ["$", g.toLocaleString()]
|
|
47
|
+
}) })] }),
|
|
48
|
+
/* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o(u, {
|
|
49
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
50
|
+
children: [/* @__PURE__ */ a(d, {
|
|
51
|
+
className: "text-sm font-medium",
|
|
52
|
+
children: "Released"
|
|
53
|
+
}), /* @__PURE__ */ a(n, { className: "h-4 w-4 text-green-500" })]
|
|
54
|
+
}), /* @__PURE__ */ a(l, { children: /* @__PURE__ */ o("div", {
|
|
55
|
+
className: "text-2xl font-bold",
|
|
56
|
+
children: ["$", _.toLocaleString()]
|
|
57
|
+
}) })] }),
|
|
58
|
+
/* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o(u, {
|
|
59
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
60
|
+
children: [/* @__PURE__ */ a(d, {
|
|
61
|
+
className: "text-sm font-medium",
|
|
62
|
+
children: "Held"
|
|
63
|
+
}), /* @__PURE__ */ a(i, { className: "h-4 w-4 text-blue-500" })]
|
|
64
|
+
}), /* @__PURE__ */ a(l, { children: /* @__PURE__ */ o("div", {
|
|
65
|
+
className: "text-2xl font-bold",
|
|
66
|
+
children: ["$", (g - _).toLocaleString()]
|
|
67
|
+
}) })] })
|
|
68
|
+
]
|
|
69
|
+
}),
|
|
70
|
+
/* @__PURE__ */ o(c, { children: [/* @__PURE__ */ a(u, { children: /* @__PURE__ */ a(d, { children: "Escrow Transactions" }) }), /* @__PURE__ */ a(l, {
|
|
71
|
+
className: "space-y-3",
|
|
72
|
+
children: h.map((e) => {
|
|
73
|
+
let t = e.amount === 0 ? 0 : Math.round(e.released / e.amount * 100);
|
|
74
|
+
return /* @__PURE__ */ o("div", {
|
|
75
|
+
className: "rounded border p-4",
|
|
76
|
+
children: [
|
|
77
|
+
/* @__PURE__ */ o("div", {
|
|
78
|
+
className: "mb-2 flex items-center justify-between",
|
|
79
|
+
children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
80
|
+
className: "text-sm font-medium",
|
|
81
|
+
children: e.project
|
|
82
|
+
}), /* @__PURE__ */ a("p", {
|
|
83
|
+
className: "text-xs text-muted-foreground",
|
|
84
|
+
children: e.provider
|
|
85
|
+
})] }), /* @__PURE__ */ a(s, {
|
|
86
|
+
variant: e.status === "active" ? "default" : e.status === "completed" ? "secondary" : "outline",
|
|
87
|
+
className: "text-[10px]",
|
|
88
|
+
children: e.status
|
|
89
|
+
})]
|
|
90
|
+
}),
|
|
91
|
+
/* @__PURE__ */ o("div", {
|
|
92
|
+
className: "flex items-center gap-4 text-sm",
|
|
93
|
+
children: [
|
|
94
|
+
/* @__PURE__ */ o("span", { children: ["Total: $", e.amount.toLocaleString()] }),
|
|
95
|
+
/* @__PURE__ */ o("span", {
|
|
96
|
+
className: "text-green-600",
|
|
97
|
+
children: ["Released: $", e.released.toLocaleString()]
|
|
98
|
+
}),
|
|
99
|
+
/* @__PURE__ */ o("span", {
|
|
100
|
+
className: "text-muted-foreground",
|
|
101
|
+
children: ["Held: $", (e.amount - e.released).toLocaleString()]
|
|
102
|
+
})
|
|
103
|
+
]
|
|
104
|
+
}),
|
|
105
|
+
/* @__PURE__ */ o("div", {
|
|
106
|
+
className: "mt-2",
|
|
107
|
+
children: [/* @__PURE__ */ o("div", {
|
|
108
|
+
className: "mb-1 flex justify-between text-xs",
|
|
109
|
+
children: [/* @__PURE__ */ o("span", { children: [
|
|
110
|
+
"Milestones: ",
|
|
111
|
+
e.completedMilestones,
|
|
112
|
+
"/",
|
|
113
|
+
e.milestones
|
|
114
|
+
] }), /* @__PURE__ */ o("span", { children: [t, "%"] })]
|
|
115
|
+
}), /* @__PURE__ */ a("div", {
|
|
116
|
+
className: "h-2 overflow-hidden rounded bg-muted",
|
|
117
|
+
children: /* @__PURE__ */ a("div", {
|
|
118
|
+
className: "h-2 rounded bg-green-500",
|
|
119
|
+
style: { width: `${t}%` }
|
|
120
|
+
})
|
|
121
|
+
})]
|
|
122
|
+
})
|
|
123
|
+
]
|
|
124
|
+
}, e.id);
|
|
125
|
+
})
|
|
126
|
+
})] })
|
|
127
|
+
]
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
export { f as PaymentsEscrowPagePage };
|
|
132
|
+
|
|
133
|
+
//# sourceMappingURL=PaymentsEscrowPagePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentsEscrowPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/PaymentsEscrowPagePage.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { Badge, Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { DollarSign, Lock, ShieldCheck } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\ntype EscrowTransaction = {\n id: string;\n project: string;\n provider: string;\n amount: number;\n released: number;\n status: 'active' | 'funded' | 'completed';\n milestones: number;\n completedMilestones: number;\n};\n\nexport function PaymentsEscrowPagePage() {\n const { projects, invoices, payrollRecords } = useCrewFoundryStore();\n\n const escrowTransactions = useMemo<EscrowTransaction[]>(() => {\n return projects.slice(0, 10).map((project, index) => {\n const invoice = invoices[index % Math.max(invoices.length, 1)];\n const payroll = payrollRecords[index % Math.max(payrollRecords.length, 1)];\n const amount = Math.max(project.budget || 0, invoice?.amount || 0, 1000);\n const released = Math.min(project.spent || 0, amount);\n const completedMilestones = Math.max(0, Math.round((project.progress / 100) * 5));\n const milestones = Math.max(completedMilestones + 1, 3);\n const status: EscrowTransaction['status'] =\n released >= amount\n ? 'completed'\n : released > 0\n ? 'active'\n : payroll?.status === 'approved'\n ? 'funded'\n : 'active';\n\n return {\n id: project.id,\n project: project.name,\n provider: payroll?.employeeName || project.managerName,\n amount,\n released,\n status,\n milestones,\n completedMilestones: Math.min(completedMilestones, milestones),\n };\n });\n }, [invoices, payrollRecords, projects]);\n\n const totalEscrow = escrowTransactions.reduce((sum, transaction) => sum + transaction.amount, 0);\n const totalReleased = escrowTransactions.reduce(\n (sum, transaction) => sum + transaction.released,\n 0\n );\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Escrow</h1>\n <p className=\"text-sm text-muted-foreground\">\n Secure payment holding for service contracts\n </p>\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 in Escrow</CardTitle>\n <Lock className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">${totalEscrow.toLocaleString()}</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\">Released</CardTitle>\n <DollarSign className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">${totalReleased.toLocaleString()}</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\">Held</CardTitle>\n <ShieldCheck className=\"h-4 w-4 text-blue-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n ${(totalEscrow - totalReleased).toLocaleString()}\n </div>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle>Escrow Transactions</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {escrowTransactions.map((escrow) => {\n const progress =\n escrow.amount === 0 ? 0 : Math.round((escrow.released / escrow.amount) * 100);\n\n return (\n <div key={escrow.id} className=\"rounded border p-4\">\n <div className=\"mb-2 flex items-center justify-between\">\n <div>\n <p className=\"text-sm font-medium\">{escrow.project}</p>\n <p className=\"text-xs text-muted-foreground\">{escrow.provider}</p>\n </div>\n <Badge\n variant={\n escrow.status === 'active'\n ? 'default'\n : escrow.status === 'completed'\n ? 'secondary'\n : 'outline'\n }\n className=\"text-[10px]\"\n >\n {escrow.status}\n </Badge>\n </div>\n\n <div className=\"flex items-center gap-4 text-sm\">\n <span>Total: ${escrow.amount.toLocaleString()}</span>\n <span className=\"text-green-600\">\n Released: ${escrow.released.toLocaleString()}\n </span>\n <span className=\"text-muted-foreground\">\n Held: ${(escrow.amount - escrow.released).toLocaleString()}\n </span>\n </div>\n\n <div className=\"mt-2\">\n <div className=\"mb-1 flex justify-between text-xs\">\n <span>\n Milestones: {escrow.completedMilestones}/{escrow.milestones}\n </span>\n <span>{progress}%</span>\n </div>\n <div className=\"h-2 overflow-hidden rounded bg-muted\">\n <div className=\"h-2 rounded bg-green-500\" style={{ width: `${progress}%` }} />\n </div>\n </div>\n </div>\n );\n })}\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":";;;;;;AAgBA,SAAgB,IAAyB;CACvC,IAAM,EAAE,aAAU,aAAU,sBAAmB,GAAqB,EAE9D,IAAqB,QAClB,EAAS,MAAM,GAAG,GAAG,CAAC,KAAK,GAAS,MAAU;EACnD,IAAM,IAAU,EAAS,IAAQ,KAAK,IAAI,EAAS,QAAQ,EAAE,GACvD,IAAU,EAAe,IAAQ,KAAK,IAAI,EAAe,QAAQ,EAAE,GACnE,IAAS,KAAK,IAAI,EAAQ,UAAU,GAAG,GAAS,UAAU,GAAG,IAAK,EAClE,IAAW,KAAK,IAAI,EAAQ,SAAS,GAAG,EAAO,EAC/C,IAAsB,KAAK,IAAI,GAAG,KAAK,MAAO,EAAQ,WAAW,MAAO,EAAE,CAAC,EAC3E,IAAa,KAAK,IAAI,IAAsB,GAAG,EAAE,EACjD,IACJ,KAAY,IACR,cACA,IAAW,IACT,WACA,GAAS,WAAW,aAClB,WACA;AAEV,SAAO;GACL,IAAI,EAAQ;GACZ,SAAS,EAAQ;GACjB,UAAU,GAAS,gBAAgB,EAAQ;GAC3C;GACA;GACA;GACA;GACA,qBAAqB,KAAK,IAAI,GAAqB,EAAW;GAC/D;GACD,EACD;EAAC;EAAU;EAAgB;EAAS,CAAC,EAElC,IAAc,EAAmB,QAAQ,GAAK,MAAgB,IAAM,EAAY,QAAQ,EAAE,EAC1F,IAAgB,EAAmB,QACtC,GAAK,MAAgB,IAAM,EAAY,UACxC,EACD;AAED,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;IAAI,WAAU;cAAyB;IAAW,CAAA,EAClD,kBAAC,KAAD;IAAG,WAAU;cAAgC;IAEzC,CAAA,CACA,EAAA,CAAA;GAEN,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;MAAY,WAAU;gBAAtB,CACE,kBAAC,GAAD;OAAW,WAAU;iBAAsB;OAA2B,CAAA,EACtE,kBAAC,GAAD,EAAM,WAAU,iCAAkC,CAAA,CACvC;SACb,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CAAoC,KAAE,EAAY,gBAAgB,CAAO;SAC7D,CAAA,CACT,EAAA,CAAA;KACP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;MAAY,WAAU;gBAAtB,CACE,kBAAC,GAAD;OAAW,WAAU;iBAAsB;OAAoB,CAAA,EAC/D,kBAAC,GAAD,EAAY,WAAU,0BAA2B,CAAA,CACtC;SACb,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CAAoC,KAAE,EAAc,gBAAgB,CAAO;SAC/D,CAAA,CACT,EAAA,CAAA;KACP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;MAAY,WAAU;gBAAtB,CACE,kBAAC,GAAD;OAAW,WAAU;iBAAsB;OAAgB,CAAA,EAC3D,kBAAC,GAAD,EAAa,WAAU,yBAA0B,CAAA,CACtC;SACb,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CAAoC,MAC/B,IAAc,GAAe,gBAAgB,CAC5C;SACM,CAAA,CACT,EAAA,CAAA;KACH;;GAEN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UAAW,uBAA+B,CAAA,EAC/B,CAAA,EACb,kBAAC,GAAD;IAAa,WAAU;cACpB,EAAmB,KAAK,MAAW;KAClC,IAAM,IACJ,EAAO,WAAW,IAAI,IAAI,KAAK,MAAO,EAAO,WAAW,EAAO,SAAU,IAAI;AAE/E,YACE,kBAAC,OAAD;MAAqB,WAAU;gBAA/B;OACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;SAAG,WAAU;mBAAuB,EAAO;SAAY,CAAA,EACvD,kBAAC,KAAD;SAAG,WAAU;mBAAiC,EAAO;SAAa,CAAA,CAC9D,EAAA,CAAA,EACN,kBAAC,GAAD;SACE,SACE,EAAO,WAAW,WACd,YACA,EAAO,WAAW,cAChB,cACA;SAER,WAAU;mBAET,EAAO;SACF,CAAA,CACJ;;OAEN,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,QAAD,EAAA,UAAA,CAAM,YAAS,EAAO,OAAO,gBAAgB,CAAQ,EAAA,CAAA;SACrD,kBAAC,QAAD;UAAM,WAAU;oBAAhB,CAAiC,eACnB,EAAO,SAAS,gBAAgB,CACvC;;SACP,kBAAC,QAAD;UAAM,WAAU;oBAAhB,CAAwC,YAC7B,EAAO,SAAS,EAAO,UAAU,gBAAgB,CACrD;;SACH;;OAEN,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,QAAD,EAAA,UAAA;UAAM;UACS,EAAO;UAAoB;UAAE,EAAO;UAC5C,EAAA,CAAA,EACP,kBAAC,QAAD,EAAA,UAAA,CAAO,GAAS,IAAQ,EAAA,CAAA,CACpB;YACN,kBAAC,OAAD;SAAK,WAAU;mBACb,kBAAC,OAAD;UAAK,WAAU;UAA2B,OAAO,EAAE,OAAO,GAAG,EAAS,IAAI;UAAI,CAAA;SAC1E,CAAA,CACF;;OACF;QAzCI,EAAO,GAyCX;MAER;IACU,CAAA,CACT,EAAA,CAAA;GACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentsInvoicesPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/PaymentsInvoicesPagePage.tsx"],"names":[],"mappings":"AAIA,wBAAgB,wBAAwB,4CA2DvC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
|
|
2
|
+
import { Plus as t } from "lucide-react";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
import { Badge as i, Button as a, Card as o, CardContent as s } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/crewfoundry/pages/PaymentsInvoicesPagePage.tsx
|
|
6
|
+
function c() {
|
|
7
|
+
let { invoices: c } = e();
|
|
8
|
+
return /* @__PURE__ */ r("div", {
|
|
9
|
+
className: "space-y-6 p-6",
|
|
10
|
+
children: [/* @__PURE__ */ r("div", {
|
|
11
|
+
className: "flex items-center justify-between",
|
|
12
|
+
children: [/* @__PURE__ */ r("div", { children: [/* @__PURE__ */ n("h1", {
|
|
13
|
+
className: "text-2xl font-semibold",
|
|
14
|
+
children: "Invoices"
|
|
15
|
+
}), /* @__PURE__ */ r("p", {
|
|
16
|
+
className: "text-sm text-muted-foreground",
|
|
17
|
+
children: [c.length, " invoices"]
|
|
18
|
+
})] }), /* @__PURE__ */ r(a, {
|
|
19
|
+
size: "sm",
|
|
20
|
+
children: [/* @__PURE__ */ n(t, { className: "h-4 w-4 mr-1" }), "Create Invoice"]
|
|
21
|
+
})]
|
|
22
|
+
}), /* @__PURE__ */ n(o, { children: /* @__PURE__ */ r(s, {
|
|
23
|
+
className: "p-0",
|
|
24
|
+
children: [/* @__PURE__ */ r("div", {
|
|
25
|
+
className: "grid grid-cols-6 gap-2 text-xs font-medium text-muted-foreground p-4 border-b",
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ n("span", { children: "Invoice #" }),
|
|
28
|
+
/* @__PURE__ */ n("span", { children: "Client" }),
|
|
29
|
+
/* @__PURE__ */ n("span", { children: "Items" }),
|
|
30
|
+
/* @__PURE__ */ n("span", {
|
|
31
|
+
className: "text-right",
|
|
32
|
+
children: "Amount"
|
|
33
|
+
}),
|
|
34
|
+
/* @__PURE__ */ n("span", { children: "Due Date" }),
|
|
35
|
+
/* @__PURE__ */ n("span", {
|
|
36
|
+
className: "text-center",
|
|
37
|
+
children: "Status"
|
|
38
|
+
})
|
|
39
|
+
]
|
|
40
|
+
}), c.map((e) => /* @__PURE__ */ r("div", {
|
|
41
|
+
className: "grid grid-cols-6 gap-2 py-3 px-4 border-b last:border-0 text-sm hover:bg-muted/50",
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ n("span", {
|
|
44
|
+
className: "font-medium",
|
|
45
|
+
children: e.number
|
|
46
|
+
}),
|
|
47
|
+
/* @__PURE__ */ n("span", {
|
|
48
|
+
className: "text-muted-foreground",
|
|
49
|
+
children: e.clientName
|
|
50
|
+
}),
|
|
51
|
+
/* @__PURE__ */ n("div", {
|
|
52
|
+
className: "text-xs text-muted-foreground",
|
|
53
|
+
children: e.items.map((e) => e.description).join(", ")
|
|
54
|
+
}),
|
|
55
|
+
/* @__PURE__ */ r("span", {
|
|
56
|
+
className: "text-right font-medium",
|
|
57
|
+
children: ["$", e.amount.toLocaleString()]
|
|
58
|
+
}),
|
|
59
|
+
/* @__PURE__ */ n("span", {
|
|
60
|
+
className: "text-muted-foreground",
|
|
61
|
+
children: e.dueDate
|
|
62
|
+
}),
|
|
63
|
+
/* @__PURE__ */ n("div", {
|
|
64
|
+
className: "text-center",
|
|
65
|
+
children: /* @__PURE__ */ n(i, {
|
|
66
|
+
variant: e.status === "paid" ? "default" : e.status === "overdue" ? "destructive" : e.status === "draft" ? "outline" : "secondary",
|
|
67
|
+
className: "text-[10px]",
|
|
68
|
+
children: e.status
|
|
69
|
+
})
|
|
70
|
+
})
|
|
71
|
+
]
|
|
72
|
+
}, e.id))]
|
|
73
|
+
}) })]
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { c as PaymentsInvoicesPagePage };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=PaymentsInvoicesPagePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentsInvoicesPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/PaymentsInvoicesPagePage.tsx"],"sourcesContent":["import { Badge, Button, Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { FileText, Plus } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function PaymentsInvoicesPagePage() {\n const { invoices } = useCrewFoundryStore();\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\">Invoices</h1>\n <p className=\"text-sm text-muted-foreground\">{invoices.length} invoices</p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"h-4 w-4 mr-1\" />\n Create Invoice\n </Button>\n </div>\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"grid grid-cols-6 gap-2 text-xs font-medium text-muted-foreground p-4 border-b\">\n <span>Invoice #</span>\n <span>Client</span>\n <span>Items</span>\n <span className=\"text-right\">Amount</span>\n <span>Due Date</span>\n <span className=\"text-center\">Status</span>\n </div>\n {invoices.map((inv) => (\n <div\n key={inv.id}\n className=\"grid grid-cols-6 gap-2 py-3 px-4 border-b last:border-0 text-sm hover:bg-muted/50\"\n >\n <span className=\"font-medium\">{inv.number}</span>\n <span className=\"text-muted-foreground\">{inv.clientName}</span>\n <div className=\"text-xs text-muted-foreground\">\n {inv.items.map((i) => i.description).join(', ')}\n </div>\n <span className=\"text-right font-medium\">${inv.amount.toLocaleString()}</span>\n <span className=\"text-muted-foreground\">{inv.dueDate}</span>\n <div className=\"text-center\">\n <Badge\n variant={\n inv.status === 'paid'\n ? 'default'\n : inv.status === 'overdue'\n ? 'destructive'\n : inv.status === 'draft'\n ? 'outline'\n : 'secondary'\n }\n className=\"text-[10px]\"\n >\n {inv.status}\n </Badge>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":";;;;;AAIA,SAAgB,IAA2B;CACzC,IAAM,EAAE,gBAAa,GAAqB;AAE1C,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;IAAI,WAAU;cAAyB;IAAa,CAAA,EACpD,kBAAC,KAAD;IAAG,WAAU;cAAb,CAA8C,EAAS,QAAO,YAAa;MACvE,EAAA,CAAA,EACN,kBAAC,GAAD;IAAQ,MAAK;cAAb,CACE,kBAAC,GAAD,EAAM,WAAU,gBAAiB,CAAA,EAAA,iBAE1B;MACL;MACN,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GAAa,WAAU;aAAvB,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,QAAD,EAAA,UAAM,aAAgB,CAAA;KACtB,kBAAC,QAAD,EAAA,UAAM,UAAa,CAAA;KACnB,kBAAC,QAAD,EAAA,UAAM,SAAY,CAAA;KAClB,kBAAC,QAAD;MAAM,WAAU;gBAAa;MAAa,CAAA;KAC1C,kBAAC,QAAD,EAAA,UAAM,YAAe,CAAA;KACrB,kBAAC,QAAD;MAAM,WAAU;gBAAc;MAAa,CAAA;KACvC;OACL,EAAS,KAAK,MACb,kBAAC,OAAD;IAEE,WAAU;cAFZ;KAIE,kBAAC,QAAD;MAAM,WAAU;gBAAe,EAAI;MAAc,CAAA;KACjD,kBAAC,QAAD;MAAM,WAAU;gBAAyB,EAAI;MAAkB,CAAA;KAC/D,kBAAC,OAAD;MAAK,WAAU;gBACZ,EAAI,MAAM,KAAK,MAAM,EAAE,YAAY,CAAC,KAAK,KAAK;MAC3C,CAAA;KACN,kBAAC,QAAD;MAAM,WAAU;gBAAhB,CAAyC,KAAE,EAAI,OAAO,gBAAgB,CAAQ;;KAC9E,kBAAC,QAAD;MAAM,WAAU;gBAAyB,EAAI;MAAe,CAAA;KAC5D,kBAAC,OAAD;MAAK,WAAU;gBACb,kBAAC,GAAD;OACE,SACE,EAAI,WAAW,SACX,YACA,EAAI,WAAW,YACb,gBACA,EAAI,WAAW,UACb,YACA;OAEV,WAAU;iBAET,EAAI;OACC,CAAA;MACJ,CAAA;KACF;MA1BC,EAAI,GA0BL,CACN,CACU;MACT,CAAA,CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentsPaymentDashboardPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/PaymentsPaymentDashboardPagePage.tsx"],"names":[],"mappings":"AAWA,wBAAgB,gCAAgC,4CA6F/C"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
|
|
2
|
+
import { CreditCard as t, DollarSign as n, Receipt as r, TrendingUp as i } from "lucide-react";
|
|
3
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
4
|
+
import { Badge as s, Card as c, CardContent as l, CardHeader as u, CardTitle as d } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/crewfoundry/pages/PaymentsPaymentDashboardPagePage.tsx
|
|
6
|
+
function f() {
|
|
7
|
+
let { invoices: f, payrollRecords: p } = e(), m = f.reduce((e, t) => e + t.amount, 0), h = f.filter((e) => e.status === "paid").reduce((e, t) => e + t.amount, 0), g = p.reduce((e, t) => e + t.grossPay, 0);
|
|
8
|
+
return /* @__PURE__ */ o("div", {
|
|
9
|
+
className: "space-y-6 p-6",
|
|
10
|
+
children: [
|
|
11
|
+
/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
|
|
12
|
+
className: "text-2xl font-semibold",
|
|
13
|
+
children: "Payment Dashboard"
|
|
14
|
+
}), /* @__PURE__ */ a("p", {
|
|
15
|
+
className: "text-sm text-muted-foreground",
|
|
16
|
+
children: "Financial transactions and payment overview"
|
|
17
|
+
})] }),
|
|
18
|
+
/* @__PURE__ */ o("div", {
|
|
19
|
+
className: "grid gap-4 md:grid-cols-2 lg:grid-cols-4",
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o(u, {
|
|
22
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
23
|
+
children: [/* @__PURE__ */ a(d, {
|
|
24
|
+
className: "text-sm font-medium",
|
|
25
|
+
children: "Total Invoiced"
|
|
26
|
+
}), /* @__PURE__ */ a(r, { className: "h-4 w-4 text-muted-foreground" })]
|
|
27
|
+
}), /* @__PURE__ */ a(l, { children: /* @__PURE__ */ o("div", {
|
|
28
|
+
className: "text-2xl font-bold",
|
|
29
|
+
children: ["$", m.toLocaleString()]
|
|
30
|
+
}) })] }),
|
|
31
|
+
/* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o(u, {
|
|
32
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
33
|
+
children: [/* @__PURE__ */ a(d, {
|
|
34
|
+
className: "text-sm font-medium",
|
|
35
|
+
children: "Collected"
|
|
36
|
+
}), /* @__PURE__ */ a(n, { className: "h-4 w-4 text-green-500" })]
|
|
37
|
+
}), /* @__PURE__ */ a(l, { children: /* @__PURE__ */ o("div", {
|
|
38
|
+
className: "text-2xl font-bold",
|
|
39
|
+
children: ["$", h.toLocaleString()]
|
|
40
|
+
}) })] }),
|
|
41
|
+
/* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o(u, {
|
|
42
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
43
|
+
children: [/* @__PURE__ */ a(d, {
|
|
44
|
+
className: "text-sm font-medium",
|
|
45
|
+
children: "Payroll Processed"
|
|
46
|
+
}), /* @__PURE__ */ a(t, { className: "h-4 w-4 text-muted-foreground" })]
|
|
47
|
+
}), /* @__PURE__ */ a(l, { children: /* @__PURE__ */ o("div", {
|
|
48
|
+
className: "text-2xl font-bold",
|
|
49
|
+
children: ["$", g.toLocaleString()]
|
|
50
|
+
}) })] }),
|
|
51
|
+
/* @__PURE__ */ o(c, { children: [/* @__PURE__ */ o(u, {
|
|
52
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
53
|
+
children: [/* @__PURE__ */ a(d, {
|
|
54
|
+
className: "text-sm font-medium",
|
|
55
|
+
children: "Outstanding"
|
|
56
|
+
}), /* @__PURE__ */ a(i, { className: "h-4 w-4 text-yellow-500" })]
|
|
57
|
+
}), /* @__PURE__ */ a(l, { children: /* @__PURE__ */ o("div", {
|
|
58
|
+
className: "text-2xl font-bold",
|
|
59
|
+
children: ["$", (m - h).toLocaleString()]
|
|
60
|
+
}) })] })
|
|
61
|
+
]
|
|
62
|
+
}),
|
|
63
|
+
/* @__PURE__ */ o(c, { children: [/* @__PURE__ */ a(u, { children: /* @__PURE__ */ a(d, { children: "Recent Invoices" }) }), /* @__PURE__ */ o(l, { children: [/* @__PURE__ */ o("div", {
|
|
64
|
+
className: "grid grid-cols-5 gap-2 text-xs font-medium text-muted-foreground border-b pb-2 mb-2",
|
|
65
|
+
children: [
|
|
66
|
+
/* @__PURE__ */ a("span", { children: "Invoice" }),
|
|
67
|
+
/* @__PURE__ */ a("span", { children: "Client" }),
|
|
68
|
+
/* @__PURE__ */ a("span", {
|
|
69
|
+
className: "text-right",
|
|
70
|
+
children: "Amount"
|
|
71
|
+
}),
|
|
72
|
+
/* @__PURE__ */ a("span", { children: "Due Date" }),
|
|
73
|
+
/* @__PURE__ */ a("span", {
|
|
74
|
+
className: "text-center",
|
|
75
|
+
children: "Status"
|
|
76
|
+
})
|
|
77
|
+
]
|
|
78
|
+
}), f.map((e) => /* @__PURE__ */ o("div", {
|
|
79
|
+
className: "grid grid-cols-5 gap-2 py-2 border-b last:border-0 text-sm",
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ a("span", {
|
|
82
|
+
className: "font-medium",
|
|
83
|
+
children: e.number
|
|
84
|
+
}),
|
|
85
|
+
/* @__PURE__ */ a("span", {
|
|
86
|
+
className: "text-muted-foreground",
|
|
87
|
+
children: e.clientName
|
|
88
|
+
}),
|
|
89
|
+
/* @__PURE__ */ o("span", {
|
|
90
|
+
className: "text-right",
|
|
91
|
+
children: ["$", e.amount.toLocaleString()]
|
|
92
|
+
}),
|
|
93
|
+
/* @__PURE__ */ a("span", {
|
|
94
|
+
className: "text-muted-foreground",
|
|
95
|
+
children: e.dueDate
|
|
96
|
+
}),
|
|
97
|
+
/* @__PURE__ */ a("div", {
|
|
98
|
+
className: "text-center",
|
|
99
|
+
children: /* @__PURE__ */ a(s, {
|
|
100
|
+
variant: e.status === "paid" ? "default" : e.status === "overdue" ? "destructive" : "secondary",
|
|
101
|
+
className: "text-[10px]",
|
|
102
|
+
children: e.status
|
|
103
|
+
})
|
|
104
|
+
})
|
|
105
|
+
]
|
|
106
|
+
}, e.id))] })] })
|
|
107
|
+
]
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
//#endregion
|
|
111
|
+
export { f as PaymentsPaymentDashboardPagePage };
|
|
112
|
+
|
|
113
|
+
//# sourceMappingURL=PaymentsPaymentDashboardPagePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentsPaymentDashboardPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/PaymentsPaymentDashboardPagePage.tsx"],"sourcesContent":["import {\n Badge,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from '@burdenoff/fe-libs/ui';\nimport { ArrowUp, CreditCard, DollarSign, Receipt, TrendingUp } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\nexport function PaymentsPaymentDashboardPagePage() {\n const { invoices, payrollRecords } = useCrewFoundryStore();\n const totalInvoiced = invoices.reduce((s, i) => s + i.amount, 0);\n const totalPaid = invoices.filter((i) => i.status === 'paid').reduce((s, i) => s + i.amount, 0);\n const totalPayroll = payrollRecords.reduce((s, r) => s + r.grossPay, 0);\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Payment Dashboard</h1>\n <p className=\"text-sm text-muted-foreground\">Financial transactions and payment overview</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 Invoiced</CardTitle>\n <Receipt className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">${totalInvoiced.toLocaleString()}</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\">Collected</CardTitle>\n <DollarSign className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">${totalPaid.toLocaleString()}</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\">Payroll Processed</CardTitle>\n <CreditCard className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">${totalPayroll.toLocaleString()}</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\">Outstanding</CardTitle>\n <TrendingUp className=\"h-4 w-4 text-yellow-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n ${(totalInvoiced - totalPaid).toLocaleString()}\n </div>\n </CardContent>\n </Card>\n </div>\n <Card>\n <CardHeader>\n <CardTitle>Recent Invoices</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"grid grid-cols-5 gap-2 text-xs font-medium text-muted-foreground border-b pb-2 mb-2\">\n <span>Invoice</span>\n <span>Client</span>\n <span className=\"text-right\">Amount</span>\n <span>Due Date</span>\n <span className=\"text-center\">Status</span>\n </div>\n {invoices.map((inv) => (\n <div\n key={inv.id}\n className=\"grid grid-cols-5 gap-2 py-2 border-b last:border-0 text-sm\"\n >\n <span className=\"font-medium\">{inv.number}</span>\n <span className=\"text-muted-foreground\">{inv.clientName}</span>\n <span className=\"text-right\">${inv.amount.toLocaleString()}</span>\n <span className=\"text-muted-foreground\">{inv.dueDate}</span>\n <div className=\"text-center\">\n <Badge\n variant={\n inv.status === 'paid'\n ? 'default'\n : inv.status === 'overdue'\n ? 'destructive'\n : 'secondary'\n }\n className=\"text-[10px]\"\n >\n {inv.status}\n </Badge>\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentsPaymentMethodsPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/PaymentsPaymentMethodsPagePage.tsx"],"names":[],"mappings":"AAeA,wBAAgB,8BAA8B,4CAqF7C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { useCrewFoundryStore as e } from "../store/crewfoundryStore.js";
|
|
2
|
+
import { useMemo as t } from "react";
|
|
3
|
+
import { Building2 as n, CreditCard as r, Plus 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 } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
//#region src/crewfoundry/pages/PaymentsPaymentMethodsPagePage.tsx
|
|
7
|
+
function d() {
|
|
8
|
+
let { paymentMethods: d, invoices: f, payrollRecords: p, vendors: m, clients: h } = e(), g = t(() => {
|
|
9
|
+
let e = p.slice(0, 3).map((e, t) => ({
|
|
10
|
+
id: `bank-${e.id}`,
|
|
11
|
+
type: "bank",
|
|
12
|
+
name: `${e.department} Settlement Account`,
|
|
13
|
+
bank: m[t % Math.max(m.length, 1)]?.name || "Burdenoff Bank",
|
|
14
|
+
last4: String(e.netPay).slice(-4).padStart(4, "0"),
|
|
15
|
+
status: t === 0 ? "primary" : "active"
|
|
16
|
+
})), t = f.slice(0, 4).map((t, n) => {
|
|
17
|
+
let r = String((n + 3) % 12 + 1).padStart(2, "0"), i = String(2027 + n % 2);
|
|
18
|
+
return {
|
|
19
|
+
id: `card-${t.id}`,
|
|
20
|
+
type: "card",
|
|
21
|
+
name: `${h[n % Math.max(h.length, 1)]?.name || "Corporate"} Card`,
|
|
22
|
+
bank: t.clientName,
|
|
23
|
+
last4: t.number.replaceAll(/\D/g, "").slice(-4).padStart(4, "0"),
|
|
24
|
+
status: n === 0 && e.length === 0 ? "primary" : "active",
|
|
25
|
+
expiry: `${r}/${i}`
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
return [...e, ...t];
|
|
29
|
+
}, [
|
|
30
|
+
h,
|
|
31
|
+
f,
|
|
32
|
+
p,
|
|
33
|
+
m
|
|
34
|
+
]), _ = d.length > 0 ? d : g;
|
|
35
|
+
return /* @__PURE__ */ o("div", {
|
|
36
|
+
className: "space-y-6 p-6",
|
|
37
|
+
children: [/* @__PURE__ */ o("div", {
|
|
38
|
+
className: "flex items-center justify-between",
|
|
39
|
+
children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h1", {
|
|
40
|
+
className: "text-2xl font-semibold",
|
|
41
|
+
children: "Payment Methods"
|
|
42
|
+
}), /* @__PURE__ */ a("p", {
|
|
43
|
+
className: "text-sm text-muted-foreground",
|
|
44
|
+
children: "Manage company payment accounts"
|
|
45
|
+
})] }), /* @__PURE__ */ o(c, {
|
|
46
|
+
size: "sm",
|
|
47
|
+
children: [/* @__PURE__ */ a(i, { className: "mr-1 h-4 w-4" }), "Add Method"]
|
|
48
|
+
})]
|
|
49
|
+
}), /* @__PURE__ */ a("div", {
|
|
50
|
+
className: "grid gap-4 md:grid-cols-2",
|
|
51
|
+
children: _.map((e) => /* @__PURE__ */ a(l, { children: /* @__PURE__ */ o(u, {
|
|
52
|
+
className: "p-4",
|
|
53
|
+
children: [/* @__PURE__ */ o("div", {
|
|
54
|
+
className: "mb-3 flex items-center justify-between",
|
|
55
|
+
children: [/* @__PURE__ */ o("div", {
|
|
56
|
+
className: "flex items-center gap-2",
|
|
57
|
+
children: [e.type === "bank" ? /* @__PURE__ */ a(n, { className: "h-5 w-5 text-muted-foreground" }) : /* @__PURE__ */ a(r, { className: "h-5 w-5 text-muted-foreground" }), /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("p", {
|
|
58
|
+
className: "text-sm font-medium",
|
|
59
|
+
children: e.name
|
|
60
|
+
}), /* @__PURE__ */ a("p", {
|
|
61
|
+
className: "text-xs text-muted-foreground",
|
|
62
|
+
children: e.bank
|
|
63
|
+
})] })]
|
|
64
|
+
}), /* @__PURE__ */ a(s, {
|
|
65
|
+
variant: e.status === "primary" ? "default" : "secondary",
|
|
66
|
+
className: "text-[10px]",
|
|
67
|
+
children: e.status
|
|
68
|
+
})]
|
|
69
|
+
}), /* @__PURE__ */ o("div", {
|
|
70
|
+
className: "flex items-center justify-between text-sm text-muted-foreground",
|
|
71
|
+
children: [/* @__PURE__ */ o("span", { children: ["•••• •••• •••• ", e.last4] }), e.expiry ? /* @__PURE__ */ o("span", { children: ["Exp: ", e.expiry] }) : null]
|
|
72
|
+
})]
|
|
73
|
+
}) }, e.id))
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//#endregion
|
|
78
|
+
export { d as PaymentsPaymentMethodsPagePage };
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=PaymentsPaymentMethodsPagePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentsPaymentMethodsPagePage.js","names":[],"sources":["../../../src/crewfoundry/pages/PaymentsPaymentMethodsPagePage.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { Badge, Button, Card, CardContent } from '@burdenoff/fe-libs/ui';\nimport { Building2, CreditCard, Plus } from 'lucide-react';\nimport { useCrewFoundryStore } from '../store/crewfoundryStore';\n\ntype PaymentMethod = {\n id: string;\n type: 'bank' | 'card';\n name: string;\n bank: string;\n last4: string;\n status: 'primary' | 'active';\n expiry?: string;\n};\n\nexport function PaymentsPaymentMethodsPagePage() {\n const {\n paymentMethods: overlapPaymentMethods,\n invoices,\n payrollRecords,\n vendors,\n clients,\n } = useCrewFoundryStore();\n\n const fallbackMethods = useMemo<PaymentMethod[]>(() => {\n const bankMethods = payrollRecords.slice(0, 3).map((record, index) => ({\n id: `bank-${record.id}`,\n type: 'bank' as const,\n name: `${record.department} Settlement Account`,\n bank: vendors[index % Math.max(vendors.length, 1)]?.name || 'Burdenoff Bank',\n last4: String(record.netPay).slice(-4).padStart(4, '0'),\n status: index === 0 ? ('primary' as const) : ('active' as const),\n }));\n\n const cardMethods = invoices.slice(0, 4).map((invoice, index) => {\n const month = String(((index + 3) % 12) + 1).padStart(2, '0');\n const year = String(2027 + (index % 2));\n return {\n id: `card-${invoice.id}`,\n type: 'card' as const,\n name: `${clients[index % Math.max(clients.length, 1)]?.name || 'Corporate'} Card`,\n bank: invoice.clientName,\n last4: invoice.number.replaceAll(/\\D/g, '').slice(-4).padStart(4, '0'),\n status:\n index === 0 && bankMethods.length === 0 ? ('primary' as const) : ('active' as const),\n expiry: `${month}/${year}`,\n };\n });\n\n return [...bankMethods, ...cardMethods];\n }, [clients, invoices, payrollRecords, vendors]);\n\n const paymentMethods = overlapPaymentMethods.length > 0 ? overlapPaymentMethods : fallbackMethods;\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\">Payment Methods</h1>\n <p className=\"text-sm text-muted-foreground\">Manage company payment accounts</p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"mr-1 h-4 w-4\" />\n Add Method\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2\">\n {paymentMethods.map((method) => (\n <Card key={method.id}>\n <CardContent className=\"p-4\">\n <div className=\"mb-3 flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n {method.type === 'bank' ? (\n <Building2 className=\"h-5 w-5 text-muted-foreground\" />\n ) : (\n <CreditCard className=\"h-5 w-5 text-muted-foreground\" />\n )}\n <div>\n <p className=\"text-sm font-medium\">{method.name}</p>\n <p className=\"text-xs text-muted-foreground\">{method.bank}</p>\n </div>\n </div>\n <Badge\n variant={method.status === 'primary' ? 'default' : 'secondary'}\n className=\"text-[10px]\"\n >\n {method.status}\n </Badge>\n </div>\n <div className=\"flex items-center justify-between text-sm text-muted-foreground\">\n <span>•••• •••• •••• {method.last4}</span>\n {method.expiry ? <span>Exp: {method.expiry}</span> : null}\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAeA,SAAgB,IAAiC;CAC/C,IAAM,EACJ,gBAAgB,GAChB,aACA,mBACA,YACA,eACE,GAAqB,EAEnB,IAAkB,QAA+B;EACrD,IAAM,IAAc,EAAe,MAAM,GAAG,EAAE,CAAC,KAAK,GAAQ,OAAW;GACrE,IAAI,QAAQ,EAAO;GACnB,MAAM;GACN,MAAM,GAAG,EAAO,WAAW;GAC3B,MAAM,EAAQ,IAAQ,KAAK,IAAI,EAAQ,QAAQ,EAAE,GAAG,QAAQ;GAC5D,OAAO,OAAO,EAAO,OAAO,CAAC,MAAM,GAAG,CAAC,SAAS,GAAG,IAAI;GACvD,QAAQ,MAAU,IAAK,YAAuB;GAC/C,EAAE,EAEG,IAAc,EAAS,MAAM,GAAG,EAAE,CAAC,KAAK,GAAS,MAAU;GAC/D,IAAM,IAAQ,QAAS,IAAQ,KAAK,KAAM,EAAE,CAAC,SAAS,GAAG,IAAI,EACvD,IAAO,OAAO,OAAQ,IAAQ,EAAG;AACvC,UAAO;IACL,IAAI,QAAQ,EAAQ;IACpB,MAAM;IACN,MAAM,GAAG,EAAQ,IAAQ,KAAK,IAAI,EAAQ,QAAQ,EAAE,GAAG,QAAQ,YAAY;IAC3E,MAAM,EAAQ;IACd,OAAO,EAAQ,OAAO,WAAW,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,SAAS,GAAG,IAAI;IACtE,QACE,MAAU,KAAK,EAAY,WAAW,IAAK,YAAuB;IACpE,QAAQ,GAAG,EAAM,GAAG;IACrB;IACD;AAEF,SAAO,CAAC,GAAG,GAAa,GAAG,EAAY;IACtC;EAAC;EAAS;EAAU;EAAgB;EAAQ,CAAC,EAE1C,IAAiB,EAAsB,SAAS,IAAI,IAAwB;AAElF,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,MAAD;IAAI,WAAU;cAAyB;IAAoB,CAAA,EAC3D,kBAAC,KAAD;IAAG,WAAU;cAAgC;IAAmC,CAAA,CAC5E,EAAA,CAAA,EACN,kBAAC,GAAD;IAAQ,MAAK;cAAb,CACE,kBAAC,GAAD,EAAM,WAAU,gBAAiB,CAAA,EAAA,aAE1B;MACL;MAEN,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAe,KAAK,MACnB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;IAAa,WAAU;cAAvB,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACG,EAAO,SAAS,SACf,kBAAC,GAAD,EAAW,WAAU,iCAAkC,CAAA,GAEvD,kBAAC,GAAD,EAAY,WAAU,iCAAkC,CAAA,EAE1D,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;OAAG,WAAU;iBAAuB,EAAO;OAAS,CAAA,EACpD,kBAAC,KAAD;OAAG,WAAU;iBAAiC,EAAO;OAAS,CAAA,CAC1D,EAAA,CAAA,CACF;SACN,kBAAC,GAAD;MACE,SAAS,EAAO,WAAW,YAAY,YAAY;MACnD,WAAU;gBAET,EAAO;MACF,CAAA,CACJ;QACN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,QAAD,EAAA,UAAA,CAAM,mBAAgB,EAAO,MAAa,EAAA,CAAA,EACzC,EAAO,SAAS,kBAAC,QAAD,EAAA,UAAA,CAAM,SAAM,EAAO,OAAc,EAAA,CAAA,GAAG,KACjD;OACM;OACT,EA1BI,EAAO,GA0BX,CACP;GACE,CAAA,CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentsSecurityPagePage.d.ts","sourceRoot":"","sources":["../../../src/crewfoundry/pages/PaymentsSecurityPagePage.tsx"],"names":[],"mappings":"AAmCA,wBAAgB,wBAAwB,4CAsKvC"}
|