mirror of
https://github.com/Tria-plc/emaui.git
synced 2026-08-26 19:12:50 +00:00
feat: implement vessel ownership transfer feature with navigation updates and localization
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import {
|
import {
|
||||||
IconAnchor,
|
IconAnchor,
|
||||||
|
IconArrowsExchange,
|
||||||
IconFileDescription,
|
IconFileDescription,
|
||||||
IconId,
|
IconId,
|
||||||
IconShip,
|
IconShip,
|
||||||
@@ -89,6 +90,13 @@ const PRESENTATION: Record<string, LicenseTypePresentation> = {
|
|||||||
icon: IconAnchor,
|
icon: IconAnchor,
|
||||||
detailSections: DEFAULT_SECTIONS,
|
detailSections: DEFAULT_SECTIONS,
|
||||||
},
|
},
|
||||||
|
VESSEL_OWNERSHIP_TRANSFER: {
|
||||||
|
key: 'VESSEL_OWNERSHIP_TRANSFER',
|
||||||
|
icon: IconArrowsExchange,
|
||||||
|
// Transfers an existing registration between owners: no company entity,
|
||||||
|
// no capital threshold, no staff roles.
|
||||||
|
detailSections: ['overview', 'documents'],
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Falls back to a generic presentation so an unseeded type still renders. */
|
/** Falls back to a generic presentation so an unseeded type still renders. */
|
||||||
|
|||||||
@@ -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 VesselOwnershipTransferQueuePage() {
|
|
||||||
return (
|
|
||||||
<Container size="lg" py="xl">
|
|
||||||
<FeatureUnavailable
|
|
||||||
title="Ownership transfer queue"
|
|
||||||
description="Vessel ownership transfer is not connected to the backend yet."
|
|
||||||
/>
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default VesselOwnershipTransferQueuePage;
|
|
||||||
@@ -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 VesselOwnershipTransferReviewPage() {
|
|
||||||
return (
|
|
||||||
<Container size="lg" py="xl">
|
|
||||||
<FeatureUnavailable
|
|
||||||
title="Ownership transfer review"
|
|
||||||
description="Vessel ownership transfer is not connected to the backend yet."
|
|
||||||
/>
|
|
||||||
</Container>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default VesselOwnershipTransferReviewPage;
|
|
||||||
@@ -37,6 +37,7 @@ export const am: Translations = {
|
|||||||
typeJointInvestment: "የጋራ ኢንቨስትመንት",
|
typeJointInvestment: "የጋራ ኢንቨስትመንት",
|
||||||
typeMto: "የብዝሃ-ሁነታ ትራንስፖርት አንቀሳቃሽ",
|
typeMto: "የብዝሃ-ሁነታ ትራንስፖርት አንቀሳቃሽ",
|
||||||
typeSEAFARER_REGISTRATION: "የመርከበኞች ምዝገባ",
|
typeSEAFARER_REGISTRATION: "የመርከበኞች ምዝገባ",
|
||||||
|
typeVESSEL_OWNERSHIP_TRANSFER: "የመርከብ ባለቤትነት ዝውውር",
|
||||||
primary: "ዋና",
|
primary: "ዋና",
|
||||||
destinations: "ወደ",
|
destinations: "ወደ",
|
||||||
noResults: "ምንም አልተገኘም",
|
noResults: "ምንም አልተገኘም",
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ export const en = {
|
|||||||
typeJointInvestment: 'Joint Investment',
|
typeJointInvestment: 'Joint Investment',
|
||||||
typeMto: 'Multimodal Transport Operator',
|
typeMto: 'Multimodal Transport Operator',
|
||||||
typeSEAFARER_REGISTRATION: 'Seafarer Registration',
|
typeSEAFARER_REGISTRATION: 'Seafarer Registration',
|
||||||
|
typeVESSEL_OWNERSHIP_TRANSFER: 'Vessel Ownership Transfer',
|
||||||
primary: 'Primary',
|
primary: 'Primary',
|
||||||
destinations: 'Go to',
|
destinations: 'Go to',
|
||||||
noResults: 'Nothing found',
|
noResults: 'Nothing found',
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import {
|
import {
|
||||||
IconAnchor,
|
IconAnchor,
|
||||||
|
IconArrowsExchange,
|
||||||
IconBook2,
|
IconBook2,
|
||||||
IconChartBar,
|
IconChartBar,
|
||||||
IconClipboardList,
|
IconClipboardList,
|
||||||
@@ -123,7 +124,7 @@ export const NAV_SECTIONS: NavSection[] = [
|
|||||||
items: [
|
items: [
|
||||||
{ to: '/licence-review/type/VESSEL_REGISTRATION', label: 'nav.vesselRegistrationApplicationQueue', icon: IconAnchor },
|
{ to: '/licence-review/type/VESSEL_REGISTRATION', label: 'nav.vesselRegistrationApplicationQueue', icon: IconAnchor },
|
||||||
{ to: '/vessel-registration-queue', label: 'nav.vesselRegistrationQueue', icon: IconAnchor },
|
{ to: '/vessel-registration-queue', label: 'nav.vesselRegistrationQueue', icon: IconAnchor },
|
||||||
{ to: '/vessel-ownership-transfer', label: 'nav.ownershipTransferQueue', icon: IconFileDescription, soon: true },
|
{ to: '/licence-review/type/VESSEL_OWNERSHIP_TRANSFER', label: 'nav.ownershipTransferQueue', icon: IconArrowsExchange },
|
||||||
{ to: '/vessel-registration-queue/new', label: 'nav.vesselFormBuilder', icon: IconFilePlus, soon: true },
|
{ to: '/vessel-registration-queue/new', label: 'nav.vesselFormBuilder', icon: IconFilePlus, soon: true },
|
||||||
{ to: '/vessel-registration-report', label: 'nav.vesselRegistrationReport', icon: IconChartBar, soon: true },
|
{ to: '/vessel-registration-report', label: 'nav.vesselRegistrationReport', icon: IconChartBar, soon: true },
|
||||||
{ to: '/vessel-registration-head-dashboard', label: 'nav.vesselRegistrationHeadDashboard', icon: IconGauge, soon: true },
|
{ to: '/vessel-registration-head-dashboard', label: 'nav.vesselRegistrationHeadDashboard', icon: IconGauge, soon: true },
|
||||||
|
|||||||
@@ -34,8 +34,6 @@ import { VesselRegistrationQueuePage } from '../features/vessel-registration/pag
|
|||||||
import { VesselRegistrationReviewPage } from '../features/vessel-registration/pages/VesselRegistrationReviewPage';
|
import { VesselRegistrationReviewPage } from '../features/vessel-registration/pages/VesselRegistrationReviewPage';
|
||||||
import { VesselRegistrationReportPage } from '../features/vessel-registration/pages/VesselRegistrationReportPage';
|
import { VesselRegistrationReportPage } from '../features/vessel-registration/pages/VesselRegistrationReportPage';
|
||||||
import { VesselRegistrationFormBuilderPage } from '../features/vessel-registration/pages/VesselRegistrationFormBuilderPage';
|
import { VesselRegistrationFormBuilderPage } from '../features/vessel-registration/pages/VesselRegistrationFormBuilderPage';
|
||||||
import { VesselOwnershipTransferQueuePage } from '../features/vessel-registration/pages/VesselOwnershipTransferQueuePage';
|
|
||||||
import { VesselOwnershipTransferReviewPage } from '../features/vessel-registration/pages/VesselOwnershipTransferReviewPage';
|
|
||||||
import { VesselRegistrationHeadDashboardPage } from '../features/vessel-registration-head/pages/VesselRegistrationHeadDashboardPage';
|
import { VesselRegistrationHeadDashboardPage } from '../features/vessel-registration-head/pages/VesselRegistrationHeadDashboardPage';
|
||||||
import { LicenseQueuePage } from '../features/license-review/pages/LicenseQueuePage';
|
import { LicenseQueuePage } from '../features/license-review/pages/LicenseQueuePage';
|
||||||
import { LicenseRegisterPage } from '../features/license-register/pages/LicenseRegisterPage';
|
import { LicenseRegisterPage } from '../features/license-register/pages/LicenseRegisterPage';
|
||||||
@@ -90,8 +88,8 @@ const router = createBrowserRouter([
|
|||||||
{ path: 'vessel-registration-queue/new', element: <VesselRegistrationFormBuilderPage /> },
|
{ path: 'vessel-registration-queue/new', element: <VesselRegistrationFormBuilderPage /> },
|
||||||
// { path: 'vessel-registration-queue/:id', element: <VesselRegistrationReviewPage /> },
|
// { path: 'vessel-registration-queue/:id', element: <VesselRegistrationReviewPage /> },
|
||||||
//{ path: 'vessel-registration-report', element: <VesselRegistrationReportPage /> },
|
//{ path: 'vessel-registration-report', element: <VesselRegistrationReportPage /> },
|
||||||
{ path: 'vessel-ownership-transfer', element: <VesselOwnershipTransferQueuePage /> },
|
{ path: 'vessel-ownership-transfer', element: <Navigate to="/licence-review/type/VESSEL_OWNERSHIP_TRANSFER" replace /> },
|
||||||
{ path: 'vessel-ownership-transfer/:id', element: <VesselOwnershipTransferReviewPage /> },
|
{ path: 'vessel-ownership-transfer/:id', element: <Navigate to="/licence-review" replace /> },
|
||||||
// Config-driven review workspace, shared by every licence type.
|
// Config-driven review workspace, shared by every licence type.
|
||||||
{ path: 'certificate-designer', element: <CertificateDesignerPage /> },
|
{ path: 'certificate-designer', element: <CertificateDesignerPage /> },
|
||||||
{ path: 'licence-review', element: <LicenseQueuePage /> },
|
{ path: 'licence-review', element: <LicenseQueuePage /> },
|
||||||
|
|||||||
Reference in New Issue
Block a user