- {headerName}
+ {headerName}
{app.applicationNumber}
diff --git a/apps/backoffice/src/app/features/location/pages/LocationPage.tsx b/apps/backoffice/src/app/features/location/pages/LocationPage.tsx
index b2d4f9e3c..e22a16b20 100644
--- a/apps/backoffice/src/app/features/location/pages/LocationPage.tsx
+++ b/apps/backoffice/src/app/features/location/pages/LocationPage.tsx
@@ -1,23 +1,9 @@
import { useState, useCallback } from 'react';
-import {
- Stack,
- Title,
- Group,
- Button,
- Paper,
- Text,
- Grid,
- Modal,
- ActionIcon,
- Tooltip,
- Loader,
- Center,
- Alert,
-} from '@mantine/core';
+import {Stack, Group, Button, Paper, Text, Grid, Modal, ActionIcon, Tooltip, Loader, Center, Alert} from '@mantine/core';
import { useDisclosure } from '@mantine/hooks';
import { IconSettings, IconMap, IconInfoCircle, IconPlus } from '@tabler/icons-react';
import { useTranslation } from 'react-i18next';
-import { notify, useErrorHandler, ModalFooter, PageLoader } from '@ema-platform/ui';
+import { ModalFooter, notify, PageHeader, PageLoader, useErrorHandler } from '@ema-platform/ui';
import { LocationTree } from '../components/LocationTree';
import { LocationDetail } from '../components/LocationDetail';
import { LocationForm } from '../components/LocationForm';
@@ -108,9 +94,11 @@ export function LocationPage() {
return (
-
- {t('location.title')}
-
+
{locationTypes.length > 0 && (
-
-
+
+ }
+ />
{locationTypes.length === 0 && (
-
- Logistics overview
-
-
- Licence applications currently in the department.
-
+
{stats.map((stat) => (
diff --git a/apps/backoffice/src/app/features/medical-verification/pages/MedicalVerificationPage/columns.tsx b/apps/backoffice/src/app/features/medical-verification/pages/MedicalVerificationPage/columns.tsx
index ce6450686..77dd56496 100644
--- a/apps/backoffice/src/app/features/medical-verification/pages/MedicalVerificationPage/columns.tsx
+++ b/apps/backoffice/src/app/features/medical-verification/pages/MedicalVerificationPage/columns.tsx
@@ -1,6 +1,8 @@
+import { type StatusTone } from '@ema-platform/shared';
import { Badge, Text } from '@mantine/core';
import type { TFunction } from 'i18next';
import type { AdvancedColumn } from '@ema-platform/ui';
+import { StatusBadge } from '@ema-platform/ui';
import {
seaServiceDays,
type MedicalCertificate,
@@ -18,10 +20,10 @@ export function ownerName(profile?: SeafarerProfileSummary): string {
);
}
-const STATUS_COLOR: Record = {
- SUBMITTED: 'yellow',
- VERIFIED: 'teal',
- REJECTED: 'red',
+const STATUS_TONE: Record = {
+ SUBMITTED: 'warning',
+ VERIFIED: 'success',
+ REJECTED: 'danger',
};
/** Only meaningful now the queue can show ruled records too. */
@@ -33,9 +35,12 @@ function statusColumn(
label: t('recordVerification.columns.status', 'Status'),
accessorKey: 'status',
cell: ({ row }) => (
-
- {t(`recordVerification.status.${row.original.status}`, row.original.status)}
-
+
),
};
}
diff --git a/apps/backoffice/src/app/features/medical-verification/pages/MedicalVerificationPage/index.tsx b/apps/backoffice/src/app/features/medical-verification/pages/MedicalVerificationPage/index.tsx
index d43ada55f..6ba791a86 100644
--- a/apps/backoffice/src/app/features/medical-verification/pages/MedicalVerificationPage/index.tsx
+++ b/apps/backoffice/src/app/features/medical-verification/pages/MedicalVerificationPage/index.tsx
@@ -1,27 +1,8 @@
import { useCallback, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
-import {
- Badge,
- Button,
- Center,
- Container,
- Group,
- Loader,
- Modal,
- Paper,
- SegmentedControl,
- Stack,
- Text,
- Textarea,
- Title,
-} from '@mantine/core';
+import {Badge, Button, Center, Container, Group, Loader, Modal, Paper, SegmentedControl, Stack, Text, Textarea} from '@mantine/core';
import { IconEye, IconInbox, IconPaperclip } from '@tabler/icons-react';
-import {
- AdvancedTable,
- notify,
- PdfPreviewModal,
- type AdvancedColumn,
-} from '@ema-platform/ui';
+import { AdvancedTable, notify, PageHeader, PdfPreviewModal, type AdvancedColumn } from '@ema-platform/ui';
import { useDateDisplayer } from '@ema-platform/shared';
import {
extractErrorMessage,
@@ -375,22 +356,24 @@ export function MedicalVerificationPage({ kind = 'medical' }: { kind?: Verificat
return (
-
- {isMedical
- ? t('recordVerification.medicalTitle', 'Medical Certificate Verification')
- : t('recordVerification.seaServiceTitle', 'Sea Service Verification')}
-
-
- {isMedical
- ? t(
- 'recordVerification.medicalSubtitle',
- 'Submitted medical certificates awaiting a ruling. Verified certificates are frozen; rejections return to the seafarer with your remark.',
- )
- : t(
- 'recordVerification.seaServiceSubtitle',
- 'Submitted sea-service records awaiting a ruling. Verified records are frozen and count toward sea time; rejections return to the seafarer with your remark.',
- )}
-
+
{statusFilter}
diff --git a/apps/backoffice/src/app/features/payment-config/pages/PaymentConfigPage/index.tsx b/apps/backoffice/src/app/features/payment-config/pages/PaymentConfigPage/index.tsx
index 289d09ccc..adaca4a96 100644
--- a/apps/backoffice/src/app/features/payment-config/pages/PaymentConfigPage/index.tsx
+++ b/apps/backoffice/src/app/features/payment-config/pages/PaymentConfigPage/index.tsx
@@ -1,37 +1,13 @@
import { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
-import {
- Alert,
- Badge,
- Button,
- Center,
- Group,
- Loader,
- Modal,
- NumberInput,
- Paper,
- Stack,
- Switch,
- Text,
- TextInput,
- ThemeIcon,
- Title,
- Tooltip,
-} from '@mantine/core';
+import {Alert, Badge, Button, Center, Group, Loader, Modal, NumberInput, Paper, Stack, Switch, Text, TextInput, ThemeIcon, Tooltip} from '@mantine/core';
import {
IconAlertTriangle,
IconCreditCard,
IconInfoCircle,
IconLock,
} from '@tabler/icons-react';
-import {
- notify,
- ModalFooter,
- AdvancedTable,
- useServerTable,
- type AdvancedColumn,
- PageLoader,
-} from '@ema-platform/ui';
+import { AdvancedTable, ModalFooter, notify, PageHeader, PageLoader, useServerTable, type AdvancedColumn } from '@ema-platform/ui';
import {
extractErrorMessage,
useLocalized,
@@ -92,20 +68,19 @@ export function PaymentConfigPage() {
return (
-
-
- {t('paymentConfig.title', 'Payment configuration')}
-
- {t(
- 'paymentConfig.subtitle',
- 'What each licence costs. Applicants are charged after approval, and the amount is fixed onto the application at that moment.',
- )}
-
-