- Implement DocumentRequirementsTab for managing document upload requirements.
- Create FieldEditorDrawer and SectionEditorDrawer for editing fields and sections in the form schema.
- Develop FormSchemaTab to handle sections and fields for a license type's form schema.
- Introduce CertificateRequirementsPage to serve as the main interface for configuring license type requirements.
- Add hooks for requirement actions to streamline mutation handling and notifications.
- Implement condition handling for fields and sections to manage visibility based on user input.
- Create schema-paths configuration to facilitate condition target collection.
- Split MedicalVerificationPage into MedicalVerificationPage and SeaServiceVerificationPage for better separation of concerns.
- Update navigation to include separate entries for Sea Service Verification and Medical Verification.
- Enhance sea service columns to display additional vessel information and days served.
- Add translations for new and updated labels in both English and Amharic.
- Introduce seaServiceDays helper function to calculate days served based on engagement and discharge dates.
- Remove deprecated MedicalCertificatePage from the portal.
- Update routing to direct to the new sea service and medical pages.
- Remove SeamanBookApplicationPage from router and redirect to Seaman Book page.
- Add new API endpoints for managing seafarer documents, including listing, reviewing, and issuing documents.
- Introduce new SeafarerDocumentQueuePage and SeafarerDocumentReviewPage components for document management.
- Update licensing types to accommodate optional applicationId and documentId in ApplicationPayment.
- Remove unused claimSeafarerRegistration mutation and related constants.
- Update seafarer registration status labels and types to remove 'UNDER_REVIEW'.
- Create new constants and types for seafarer documents, including status labels and colors.
- Implement document payment initiation and confirmation functionalities.
- Enhance UI components for better user experience in document management.
- Implemented SeafarerRegistrationPage component with five-step registration process.
- Added API endpoints for seafarer registration including start, save, and submit functionalities.
- Created necessary types and constants for seafarer registration.
- Updated router to include new registration paths and permissions.
- Integrated profile defaults to pre-fill registration fields where applicable.
- Added validation and error handling for registration steps.
- Enhanced document upload functionality specific to seafarer registration.
Seafarer and vessel registration were filtered out of the operations
step by `requiresOperatorMode !== false`, so someone registering as a
seafarer or vessel owner landed on an onboarding screen that did not
describe them. Both now appear, grouped apart from the company modes:
declaring "I am a seafarer" is a different kind of statement from "my
company forwards freight".
The designer's preview was gated on the Handlebars source alone, which a
canvas layout does not have until the server compiles it on save -- so
the button was dead for exactly the designs the canvas exists for.
Editing looked broken rather than deliberately read-only: every seeded
template is PUBLISHED, and a published design is immutable because
certificates were issued from it. Says so, and offers the new-version
action that is the way forward.
Reviewing officers saw company, capital and staff tabs on seafarer
certificate applications, because PRESENTATION is keyed by the generic
licence keys and the fifty-odd rank-specific CoC/CoP keys fell through
to the company default. Matched by prefix instead, so a certificate
configured tomorrow gets the right presentation without a code change.
Seaman book and BTC are wired to the newly seeded licence types and no
longer marked "soon".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Implemented ExamStageActions component to manage actions related to exam booking and payment based on application status.
- Added mock-base-query for development, providing a partial mock backend for various API endpoints.
- Introduced mock-data for simulating responses in the mock-base-query, covering profiles, vessels, applications, licenses, exams, and notifications.
- Added RequirePermission component to manage access based on user permissions.
- Integrated permission checks in MySeaRecordsPage, SeafarerRegistrationPage, VesselRegistrationPage, WaiverPage, and PortalLayout.
- Updated router to enforce permissions for specific routes.
- Introduced PORTAL_PERMISSIONS and LICENSE_PERMISSIONS constants for consistent permission management.
- Enhanced usePermissions hook to fetch permissions from the server and determine access rights.
- Refactored UI components to conditionally render based on user permissions, improving security and user experience.
fix(layouts): import baseApi in BackofficeLayout and PortalLayout for API state management
refactor(auth): remove clearCurrentProfile call on logout and improve cookie removal logic
chore(auth-storage): enhance cookie management with secure and sameSite attributes, and streamline cleanup process
- Implement ShippingAgentLicenseRenewalPage for submitting renewal documents with file uploads.
- Create WaiverApplicationPage for multi-step waiver application process, including document uploads and review.
- Add WaiverPage to display application status and details, including waiver letter download functionality.
- Introduce document handling components and validation for required fields in both applications.
- Implemented VesselRegistrationPage for managing vessel registrations.
- Added localization for vessel registration and ownership transfer in Amharic and English.
- Updated PortalLayout to include navigation for vessel registration and ownership transfer.
- Created VesselOwnerLayout to restrict access to vessel owner-specific routes.
- Integrated routing for vessel registration, application, and ownership transfer pages.
- Added VesselRegistrationApplicationPage for submitting new vessel registrations.
- Created VesselRegistrationPage to list user's registrations and navigate to details.
- Implemented VesselRegistrationStatusPage to display registration status and download certificates.
- Integrated mock data for registrations and certificates.
- Updated navigation and routing to include vessel registration paths.
- Added translations for vessel registration in English and Amharic.
- Documented the vessel registration workflow and API integration notes.
- Added VesselTransferReviewPage for reviewing and managing vessel transfer requests in backoffice.
- Created VesselTransferApplicationPage for submitting new ownership transfer requests in portal.
- Introduced mock data for vessels and transfer requests in both portal and backoffice.
- Updated navigation and layout to include vessel transfer sections in both applications.
- Added internationalization support for vessel transfer labels in English and Amharic.
- Documented the implementation details and suggested API surface for future integration.