- Updated ScopedListProformasPageView, ProformaUpdateEditorForm, ProformaUpdatePage, RecurringProformaCreatePage, and others to use RdxPageContent instead of RdxEditorLayout.
- Removed RdxPageStack and replaced it with RdxPageContent for consistent layout management.
- Deleted RdxEditorLayout component and its associated tests.
- Introduced RdxPageContent component to handle main content and optional aside layout.
- Adjusted tests to reflect changes in component structure and layout.
- Updated Spanish localization for tax definitions, adding new fields and improving structure.
- Enhanced the tax definitions settings page controller to support family and scope filters, pagination, and sorting.
- Introduced a new data table component for displaying tax definitions with improved UI and functionality.
- Added new actions for tax definitions, including create, edit, and delete functionalities.
- Updated criteria building for tax definitions to include family and scope filters, along with pagination and sorting options.
- Improved tests for tax definitions to cover new features and ensure proper functionality.
- Refactored recurring proforma controllers to utilize new query field guards for better validation.
- Add useTaxDefinitionsSettingsPageController for managing tax definitions settings page state.
- Create tax definition form entity and schema for validation.
- Implement tax definition actions with permissions for edit, disable, and delete.
- Develop UI components for tax definition management including cards, dialogs, and empty states.
- Build utility functions for creating and updating tax definitions.
- Add tests for tax definition form schema and utility functions.
- Implement search and filter functionality for tax definitions list.
- Create skeleton and error states for better user experience during loading and error scenarios.
- Introduced unit tests for input mappers and snapshot builders to ensure correct mapping and serialization of tax definitions.
- Implemented status change use cases for enabling and disabling tax definitions with appropriate error handling.
- Added API endpoints for creating, deleting, enabling, and disabling tax definitions, along with corresponding hooks for React.
- Developed entity structures for tax definitions and their lists, ensuring proper data handling in the application.
- Enhanced validation and error handling in mutation hooks for creating and updating tax definitions.
- Updated import statements in `textarea.tsx`, `toggle.tsx`, and `tooltip.tsx` for consistency.
- Added missing semicolons and adjusted formatting in `use-mobile.ts` and `use-mobile.tsx`.
- Cleaned up `package.json` and `root.json` files by removing unnecessary line breaks.
- Simplified `turbo.json` by consolidating array formatting for better readability.
- Introduced ProformaItemTax value object to encapsulate tax properties (code, name, percentage).
- Updated ProformaTaxResolver to utilize ProformaItemTax instead of Tax.
- Modified recurring proforma materializer to handle new tax structure.
- Adjusted proforma aggregate and item entities to accommodate ProformaItemTax.
- Enhanced Sequelize mappers to map to and from the new ProformaItemTax structure.
- Updated tests to reflect changes in tax handling and ensure correctness.
- Added iva_name, rec_name, and retention_name to the SequelizeIssuedInvoiceV2TaxesDomainMapper for improved tax metadata handling.
- Implemented validation to ensure tax codes and names are present together in the SequelizeIssuedInvoiceV2TaxesDomainMapper.
- Updated proforma services to utilize the new tax resolver and availability checker for better tax management.
- Introduced ProformaTaxesUnavailableError and ProformaNotReadyForIssuanceError for clearer error handling in proforma issuance.
- Enhanced tax availability checking logic in ProformaTaxAvailabilityChecker to classify tax statuses accurately.
- Updated tests to cover new tax metadata requirements and ensure consistent behavior across proforma items.
- Add tests for initial company input validation.
- Create hooks for managing initial onboarding status and provisioning.
- Implement orchestration for completing onboarding and restoring session.
- Develop UI for the initial onboarding page with form handling.
- Enhance routing to include onboarding navigation resolution.
- Introduce error handling for unprovisioned onboarding scenarios.
- Establish API endpoints for onboarding status and completion.
- Validate onboarding request payloads with appropriate schemas.
- Update onboarding module composition to include provisioning services.
- Removed authentication and company context guards from multiple controllers in the customer, proforma, document series, and supplier modules.
- Consolidated guard registration logic in routes to enforce company ID restrictions globally.
- Cleaned up imports and ensured consistent error handling across controllers.
- Add GetInitialOnboardingStatusUseCase to retrieve onboarding status.
- Implement CompleteInitialOnboardingUseCase for completing onboarding.
- Create controllers for handling onboarding requests in Express.
- Introduce new repository methods for managing onboarding data.
- Set up dependency injection for onboarding services and use cases.
- Add tests for onboarding use cases and repository methods.
- Define request DTOs for onboarding operations with validation.
- Update module composition to include onboarding functionalities.
- Implemented InitialCompanyCreator service for creating new companies with necessary details and validations.
- Added IInitialOnboardingRepository interface for onboarding data persistence.
- Created SequelizeInitialOnboardingRepository for managing onboarding data with Sequelize ORM.
- Enhanced InitialOnboarding aggregate to include createdAt and updatedAt timestamps.
- Updated tests for initial company creation and onboarding provisioning to ensure proper functionality and error handling.
- Introduced new tests for the Sequelize repository to validate data retrieval and persistence logic.
- Created package.json for onboarding module with dependencies and scripts.
- Implemented InitialOnboarding aggregate with validation and state management.
- Added Sequelize model for initial onboarding with appropriate attributes and validations.
- Developed mappers for converting between domain and persistence models.
- Included tests for aggregate behavior and Sequelize model validation.
- Configured TypeScript settings for the onboarding module.
- Changed references from Country to CountryCode in supplier input mappers, audit services, and snapshot builders.
- Updated tests to reflect the changes in country handling.
- Refactored postal address to utilize CountryCode instead of Country.
- Added new company address mappers and tests to accommodate the updated structure.
- Ensured all related schemas and DTOs are aligned with the new country code implementation.
- Removed outdated documents on screen design and editor layout audit.
- Added comprehensive documentation on frontend architecture, UI patterns, and UI system.
- Established clear guidelines for component usage, routing, and layout structures.
- Enhanced accessibility and responsiveness standards across UI components.
- Defined testing protocols and anti-patterns to maintain code quality and consistency.
- Updated CustomerViewHeader to use RdxEditorHeader for a more consistent header layout.
- Refactored CustomerViewPage to utilize RdxPageFrame and RdxPageContainer for improved structure.
- Replaced PageFormHeader with RdxEditorHeader in AccountPage for uniformity.
- Adjusted SupplierCreatePage and SupplierUpdatePage to use RdxPageFrame and RdxPageContainer for layout consistency.
- Removed SupplierLayout component as it was no longer necessary.
- Enhanced SupplierDetailPage to utilize RdxPageFrame for better layout management.
- Introduced RdxEditorHeader component to encapsulate header functionality for editor pages.
- Updated tests to cover new RdxEditorHeader functionality and removed obsolete tests related to RdxPageHeader.