From a66eef352cf7ed54e2fe02a97069d8696a5c008c Mon Sep 17 00:00:00 2001 From: nati14575 Date: Fri, 28 Aug 2026 14:38:56 +0300 Subject: [PATCH] feat(i18n): add biometric-related translations and update navigation permissions --- apps/backoffice/src/app/i18n/locales/am.ts | 2 ++ apps/backoffice/src/app/i18n/locales/en.ts | 2 ++ apps/backoffice/src/app/layouts/nav-config.ts | 8 +++++++- apps/backoffice/src/app/router/index.tsx | 8 +++++++- apps/portal/src/app/i18n/locales/am.ts | 1 + apps/portal/src/app/i18n/locales/en.ts | 1 + 6 files changed, 20 insertions(+), 2 deletions(-) diff --git a/apps/backoffice/src/app/i18n/locales/am.ts b/apps/backoffice/src/app/i18n/locales/am.ts index e83e9929a..64af78746 100644 --- a/apps/backoffice/src/app/i18n/locales/am.ts +++ b/apps/backoffice/src/app/i18n/locales/am.ts @@ -88,6 +88,8 @@ export const am: Translations = { btcQueue: "የBTC ወረፋ", cocQueue: "የCoC ወረፋ", copQueue: "የCoP ወረፋ", + endorsementCocQueue: "የCoC እውቅና ወረፋ", + endorsementGocQueue: "የGOC እውቅና ወረፋ", endorsementQueue: "የማስተያየት ወረፋ", vesselRegistrations: "የመርከብ ምዝገባ", // vesselRegistrationReport: 'የምዝገባ ሪፖርት', diff --git a/apps/backoffice/src/app/i18n/locales/en.ts b/apps/backoffice/src/app/i18n/locales/en.ts index ff4fc4f15..e299655ec 100644 --- a/apps/backoffice/src/app/i18n/locales/en.ts +++ b/apps/backoffice/src/app/i18n/locales/en.ts @@ -88,6 +88,8 @@ export const en = { postWaiverQueue: 'Post-Waiver Queue', cocQueue: 'CoC Queue', copQueue: 'CoP Queue', + endorsementCocQueue: 'CoC Endorsement Queue', + endorsementGocQueue: 'GOC Endorsement Queue', endorsementQueue: 'Endorsement Queue', vesselRegistrations: 'Vessel Registration', vesselTransfers: 'Vessel Ownership Transfer', diff --git a/apps/backoffice/src/app/layouts/nav-config.ts b/apps/backoffice/src/app/layouts/nav-config.ts index 1f4a7eb02..9ed42fd62 100644 --- a/apps/backoffice/src/app/layouts/nav-config.ts +++ b/apps/backoffice/src/app/layouts/nav-config.ts @@ -42,6 +42,12 @@ const APPLICATION_QUEUE = [P.VIEW_APPLICATION_QUEUE, P.VIEW_APPLICATIONS]; */ const SEAFARER_QUEUE = [P.VIEW_SEAFARER_REGISTRY, ...APPLICATION_QUEUE]; +const BIOMETRIC_ENROLLMENT = [ + P.ENROLL_BIOMETRICS, + P.VIEW_BIOMETRICS, + P.VIEW_SEAFARER_REGISTRY, +]; + /** * The backoffice information architecture. * @@ -149,7 +155,7 @@ export const NAV_SECTIONS: NavSection[] = [ to: "/biometric-enrollment", label: "nav.biometricEnrollment", icon: IconFingerprint, - permissions: [P.ENROLL_BIOMETRICS, P.VIEW_BIOMETRICS], + permissions: BIOMETRIC_ENROLLMENT, }, { to: "/seafarer-registrations", diff --git a/apps/backoffice/src/app/router/index.tsx b/apps/backoffice/src/app/router/index.tsx index 46f0879f0..12a801650 100644 --- a/apps/backoffice/src/app/router/index.tsx +++ b/apps/backoffice/src/app/router/index.tsx @@ -53,6 +53,12 @@ import { BiometricEnrollmentPage } from '../features/biometric-enrollment/pages/ /** Any-of gate shared by every licence-type queue and its review workspace. */ const APPLICATION_QUEUE = [P.VIEW_APPLICATION_QUEUE, P.VIEW_APPLICATIONS]; +const BIOMETRIC_ENROLLMENT = [ + P.ENROLL_BIOMETRICS, + P.VIEW_BIOMETRICS, + P.VIEW_SEAFARER_REGISTRY, +]; + /** Route gate: same keys as the route's nav item in nav-config.ts. */ const guard = (anyOf: string[], element: ReactNode) => ( {element} @@ -101,7 +107,7 @@ const router = createBrowserRouter([ { path: 'sea-service-verification', element: guard([P.VERIFY_SEAFARER_RECORDS], ) }, { path: 'payment-config', element: guard([P.VIEW_PAYMENTS], ) }, { path: 'seafarer-registry', element: guard([P.VIEW_SEAFARER_REGISTRY], ) }, - { path: 'biometric-enrollment', element: guard([P.ENROLL_BIOMETRICS, P.VIEW_BIOMETRICS], ) }, + { path: 'biometric-enrollment', element: guard(BIOMETRIC_ENROLLMENT, ) }, // Seafarer registration is not a licence: own queue, own review. { path: 'seafarer-registrations', element: guard(APPLICATION_QUEUE, ) }, { path: 'seafarer-registrations/:id', element: guard(APPLICATION_QUEUE, ) }, diff --git a/apps/portal/src/app/i18n/locales/am.ts b/apps/portal/src/app/i18n/locales/am.ts index 5f921d909..d5c14c190 100644 --- a/apps/portal/src/app/i18n/locales/am.ts +++ b/apps/portal/src/app/i18n/locales/am.ts @@ -59,6 +59,7 @@ export const am: Translations = { seaRecords: 'የባህር መዝገቦቼ', seaService: 'የባህር አገልግሎት', medical: 'የሕክምና የምስክር ወረቀት', + biometrics: 'ባዮሜትሪክ', myApplication: 'ማመልከቻዬ', certificates: 'የምስክር ወረቀቶች', seamanBook: 'የመርከበኛ መጽሐፍ እና BTC', diff --git a/apps/portal/src/app/i18n/locales/en.ts b/apps/portal/src/app/i18n/locales/en.ts index f3e0d4d83..e946849b1 100644 --- a/apps/portal/src/app/i18n/locales/en.ts +++ b/apps/portal/src/app/i18n/locales/en.ts @@ -49,6 +49,7 @@ export const en = { seaRecords: 'My Sea Records', seaService: 'Sea Service', medical: 'Medical Certificate', + biometrics: 'Biometrics', myApplication: 'My Application', vesselRegistration: 'Vessel Registration', vesselRegistrationDashboard: 'Vessel Registration Dashboard',