feat: implement endorsement types and update navigation for endorsement processing

This commit is contained in:
estifanos
2026-08-11 10:50:37 +00:00
parent deb650f22f
commit 01899c0593
8 changed files with 32 additions and 49 deletions

View File

@@ -1,21 +0,0 @@
import { Container } from '@mantine/core';
import { FeatureUnavailable } from '@ema-platform/ui';
/**
* Placeholder until this feature has a backend.
*
* This page previously rendered hardcoded sample records, which were
* indistinguishable from real ones.
*/
export function EndorsementQueuePage() {
return (
<Container size="lg" py="xl">
<FeatureUnavailable
title="Endorsement queue"
description="Endorsement processing is not connected to the backend yet."
/>
</Container>
);
}
export default EndorsementQueuePage;

View File

@@ -1,21 +0,0 @@
import { Container } from '@mantine/core';
import { FeatureUnavailable } from '@ema-platform/ui';
/**
* Placeholder until this feature has a backend.
*
* This page previously rendered hardcoded sample records, which were
* indistinguishable from real ones.
*/
export function EndorsementReviewPage() {
return (
<Container size="lg" py="xl">
<FeatureUnavailable
title="Endorsement review"
description="Endorsement processing is not connected to the backend yet."
/>
</Container>
);
}
export default EndorsementReviewPage;

View File

@@ -3,6 +3,7 @@ import {
IconArrowsExchange,
IconFileDescription,
IconId,
IconRubberStamp,
IconShip,
IconTruck,
IconUsers,
@@ -97,6 +98,18 @@ const PRESENTATION: Record<string, LicenseTypePresentation> = {
// no capital threshold, no staff roles.
detailSections: ['overview', 'documents'],
},
ENDORSEMENT_COC: {
key: 'ENDORSEMENT_COC',
icon: IconRubberStamp,
// Person-centric, same as seafarer registration: no company entity, no
// capital threshold, no staff roles, no inspection.
detailSections: ['overview', 'documents'],
},
ENDORSEMENT_GOC: {
key: 'ENDORSEMENT_GOC',
icon: IconRubberStamp,
detailSections: ['overview', 'documents'],
},
};
/** Falls back to a generic presentation so an unseeded type still renders. */

View File

@@ -97,6 +97,8 @@ const APPLICANT_NAME_TYPE_KEYS = [
"CERTIFICATE_OF_PROFICIENCY",
"VESSEL_REGISTRATION",
"VESSEL_OWNERSHIP_TRANSFER",
"ENDORSEMENT_COC",
"ENDORSEMENT_GOC",
];
function applicantOrCompanyName(app: LicenseApplication): string | undefined {