feat(scripts/prepare-export.js): convert script to ES module syntax

feat(scripts/prepare-export.js): replace require with import statements
feat(scripts/prepare-export.js): use fileURLToPath to define __dirname
feat(scripts/prepare-export.js): refactor patch application for clarity
feat(scripts/prepare-export.js): add global import fix for components
feat(scripts/prepare-export.js): fix component imports using regex
feat(scripts/prepare-export.js): add main function to execute patches
feat(scripts/prepare-export.js): mock base44 client for local development
feat(scripts/prepare-export.js): add company logo field to business modal
feat(scripts/prepare-export.js): add AI order assistant component
feat(scripts/prepare-export.js): enhance event form with new features
feat(scripts/prepare-export.js): add event form wizard component
feat(scripts/prepare-export.js): add safe date formatter to message thread

feat(DocumentViewer.jsx): Implement signature capture and acknowledgment feature
feat(DocumentViewer.jsx): Add signature pad for capturing digital signatures
feat(DocumentViewer.jsx): Enable saving signature to user profile
feat(DocumentViewer.jsx): Implement acknowledgment functionality with signature and notes
feat(DocumentViewer.jsx): Add UI elements for signer name input and signature pad
feat(DocumentViewer.jsx): Implement signature adoption from saved profile
feat(DocumentViewer.jsx): Improve UI and UX for document review process
feat(UpcomingOrdersCard.jsx): Create new component to display upcoming orders
feat(UpcomingOrdersCard.jsx): Implement progress bar and status indicators
feat(UpcomingOrdersCard.jsx): Add ETA calculation and display
feat(UpcomingOrdersCard.jsx): Improve UI and UX for upcoming order display
feat(ActivityLog.jsx): Implement safe date formatting to handle invalid dates
feat(ClientDashboard.jsx): Implement client dashboard with key metrics and quick actions
feat(ClientDashboard.jsx): Add analytics cards for cost, labor, and sales
feat(ClientDashboard.jsx): Implement quick reorder functionality
feat(ClientDashboard.jsx): Add spending trend chart
feat(ClientDashboard.jsx): Improve UI and UX for client dashboard
feat(ClientOrders.jsx): Implement client orders page with filtering and quick actions
feat(ClientOrders.jsx): Add status badges and event details
feat(ClientOrders.jsx): Improve UI and UX for client orders page
feat(CreateEvent.jsx): Implement event creation page with AI assistant and form wizard
feat(CreateEvent.jsx): Add AI assistant for extracting event data
feat(CreateEvent.jsx): Implement form wizard for event creation
feat(CreateEvent.jsx): Improve UI and UX for event creation page
feat(EditBusiness.jsx): Add company logo URL input to edit business page
feat(EditBusiness.jsx): Improve UI and UX for edit business page
feat(EventDetail.jsx): Implement safe date formatting to handle invalid dates

feat(PartnerManagement.jsx): enhance partner management page with consolidated business directory and operator metrics
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from business entities
feat(PartnerManagement.jsx): add consolidated business directory from

feat(ProcurementDashboard.jsx): add supplier onboarding tab with filtering and detail panel
feat(ProcurementDashboard.jsx): implement supplier onboarding tab with filtering and detail panel
feat(ProcurementDashboard.jsx): add document status badges and actions in supplier detail panel
feat(ProcurementDashboard.jsx): add compliance health indicator to supplier detail panel
feat(ProcurementDashboard.jsx): add document request functionality with toast notifications
feat(ProcurementDashboard.jsx): add clear filters button and active filters display
feat(ProcurementDashboard.jsx): improve supplier table UI and add empty state
feat(ProcurementDashboard.jsx): add document type filter to supplier onboarding tab
feat(ProcurementDashboard.jsx): add state filter to supplier onboarding tab
feat(ProcurementDashboard.jsx): add document status and type filtering to onboarding tab
feat(ProcurementDashboard.jsx): add summary counts for onboarding tab based on filtered suppliers
feat(ProcurementDashboard.jsx): add document status and type filtering to onboarding tab
feat(ProcurementDashboard.jsx): add document status and type filtering to onboarding tab
feat(Reports.jsx): add safe date formatting to handle invalid dates
feat(SmartVendorOnboarding.jsx): implement NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA signing step with signature capture
feat(SmartVendorOnboarding.jsx): add NDA

feat(VendorDashboard.jsx): overhaul vendor dashboard with new UI/UX
feat(VendorDashboard.jsx): add AI insights and rapid orders sections
feat(VendorDashboard.jsx): implement sales vs payroll chart and client analysis
feat(VendorDashboard.jsx): enhance top performers and gold vendors sections
feat(VendorDashboard.jsx): improve quick actions and today's metrics
feat(VendorDashboard.jsx): integrate total revenue card and staff assignment
feat(VendorOrders.jsx): enhance vendor orders page with rapid request support
feat(VendorOrders.jsx): add rapid request badge and filter
feat(WorkforceShifts.jsx): add safe date formatting to handle invalid dates
This commit is contained in:
bwnyasse
2025-11-11 07:26:06 -05:00
parent e6cd70d834
commit 7cd93465bc
25 changed files with 7786 additions and 2884 deletions

View File

@@ -1,12 +1,16 @@
const fs = require('fs');
const path = require('path');
const { execSync } = require('child_process');
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
// Replicate __dirname functionality in ES modules
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const projectRoot = path.join(__dirname, '..');
// --- Fonctions de Patch ---
function applyPatch(filePath, patches) {
function applyPatch(filePath, patchInfo) {
const fullPath = path.join(projectRoot, filePath);
if (!fs.existsSync(fullPath)) {
console.warn(`🟡 Fichier non trouvé, patch ignoré : ${filePath}`);
@@ -14,22 +18,18 @@ function applyPatch(filePath, patches) {
}
let content = fs.readFileSync(fullPath, 'utf8');
let changed = false;
patches.forEach(patch => {
if (content.includes(patch.new_string)) {
console.log(`✅ Patch déjà appliqué dans ${filePath} (recherche de '${patch.search_string}').`);
} else if (content.includes(patch.old_string)) {
content = content.replace(patch.old_string, patch.new_string);
changed = true;
console.log(`🟢 Patch appliqué dans ${filePath} (remplacement de '${patch.search_string}').`);
} else {
console.error(`🔴 Impossible d'appliquer le patch dans ${filePath}. Chaîne non trouvée : '${patch.search_string}'.`);
}
});
if (changed) {
if (content.includes(patchInfo.new_string)) {
console.log(`✅ Patch déjà appliqué dans ${filePath} (recherche de '${patchInfo.search_string}').`);
return;
}
if (content.includes(patchInfo.old_string)) {
content = content.replace(patchInfo.old_string, patchInfo.new_string);
fs.writeFileSync(fullPath, content, 'utf8');
console.log(`🟢 Patch appliqué dans ${filePath} (remplacement de '${patchInfo.search_string}').`);
} else {
console.error(`🔴 Impossible d'appliquer le patch dans ${filePath}. Chaîne non trouvée : '${patchInfo.search_string}'.`);
}
}
@@ -66,7 +66,8 @@ export const base44 = {
},
{
file: 'src/main.jsx',
search_string: `ReactDOM.createRoot(document.getElementById('root')).render(`,
search_string:
`ReactDOM.createRoot(document.getElementById('root')).render(`,
old_string: `import React from 'react'
import ReactDOM from 'react-dom/client'
import App from '@/App.jsx'
@@ -110,7 +111,8 @@ ReactDOM.createRoot(document.getElementById('root')).render(
email: "dev@example.com",
user_role: "admin", // You can change this to 'procurement', 'operator', 'client', etc. to test different navigation menus
profile_picture: "https://i.pravatar.cc/150?u=a042581f4e29026024d",
};`
};
`
},
{
file: 'src/pages/Layout.jsx',
@@ -119,8 +121,6 @@ ReactDOM.createRoot(document.getElementById('root')).render(
queryKey: ['unread-notifications', user?.id],
queryFn: async () => {
if (!user?.id) return 0;
// Assuming ActivityLog entity is used for user notifications
// and has user_id and is_read fields.
const notifications = await base44.entities.ActivityLog.filter({
user_id: user?.id,
is_read: false
@@ -129,10 +129,74 @@ ReactDOM.createRoot(document.getElementById('root')).render(
},
enabled: !!user?.id,
initialData: 0,
refetchInterval: 10000, // Refresh every 10 seconds
refetchInterval: 10000,
});`,
new_string: ` // Get unread notification count
// const { data: unreadCount = 0 } = useQuery({ ... });
// const { data: unreadCount = 0 } = useQuery({
const unreadCount = 0; // Mocked value`
},
{
file: 'src/pages/Layout.jsx',
search_string: 'import { Badge } from \"./components/ui/badge\"',
old_string: 'import { Badge } from \"./components/ui/badge\"',
new_string: 'import { Badge } from \"@/components/ui/badge\"',
},
{
file: 'src/pages/Layout.jsx',
search_string: 'import ChatBubble from \"./components/chat/ChatBubble\"',
old_string: 'import ChatBubble from \"./components/chat/ChatBubble\"',
new_string: 'import ChatBubble from \"@/components/chat/ChatBubble\"',
}
];
];
// --- Global Import Fix ---
function fixComponentImports(directory) {
const entries = fs.readdirSync(directory, { withFileTypes: true });
for (const entry of entries) {
const fullPath = path.join(directory, entry.name);
if (entry.isDirectory()) {
fixComponentImports(fullPath);
} else if (entry.isFile() && entry.name.endsWith('.jsx')) {
let content = fs.readFileSync(fullPath, 'utf8');
const originalContent = content;
// Regex to find all imports from "./components/" (with single or double quotes)
const importRegex = /from\s+(['"])\.\/components\//g;
content = content.replace(importRegex, 'from $1@/components/');
// This specifically handles the badge import which might be different
content = content.replace('from "./components/ui/badge"', 'from "@/components/ui/badge"');
content = content.replace('from "./components/chat/ChatBubble"', 'from "@/components/chat/ChatBubble"');
content = content.replace('from "./components/dev/RoleSwitcher"', 'from "@/components/dev/RoleSwitcher"');
content = content.replace('from "./components/notifications/NotificationPanel"', 'from "@/components/notifications/NotificationPanel"');
content = content.replace('from "./components/ui/toaster"', 'from "@/components/ui/toaster"');
if (content !== originalContent) {
console.log(` Glogal import fix appliqué dans ${fullPath}`);
fs.writeFileSync(fullPath, content, 'utf8');
}
}
}
}
// --- Exécution ---
function main() {
console.log('--- Application des patchs pour l\'environnement local ---');
patches.forEach(patchInfo => {
applyPatch(patchInfo.file, patchInfo);
});
console.log('--- Correction globale des imports de composants ---');
fixComponentImports(path.join(projectRoot, 'src'));
console.log('--- Fin de l\'application des patchs ---');
}
main();