diff --git a/apps/backoffice/src/app/features/certificate-requirements/components/DocumentRequirementEditorDrawer.tsx b/apps/backoffice/src/app/features/certificate-requirements/components/DocumentRequirementEditorDrawer.tsx
index 6d59af5f6..733334b8e 100644
--- a/apps/backoffice/src/app/features/certificate-requirements/components/DocumentRequirementEditorDrawer.tsx
+++ b/apps/backoffice/src/app/features/certificate-requirements/components/DocumentRequirementEditorDrawer.tsx
@@ -167,7 +167,7 @@ export function DocumentRequirementEditorDrawer({
<>
setDraft((d) => ({ ...d, conditionExpression: v ?? undefined }))}
targets={conditionTargets}
palette={palette}
diff --git a/apps/backoffice/src/app/features/certification/pages/CertificationPage/columns.tsx b/apps/backoffice/src/app/features/certification/pages/CertificationPage/columns.tsx
index 4a56ea6d0..47649d27f 100644
--- a/apps/backoffice/src/app/features/certification/pages/CertificationPage/columns.tsx
+++ b/apps/backoffice/src/app/features/certification/pages/CertificationPage/columns.tsx
@@ -16,6 +16,15 @@ export function certificationColumns(
header: t('certification.columns.description'),
cell: ({ row }) => {row.original.description[locale]},
},
+ {
+ header: t('certification.columns.rank', 'Rank'),
+ cell: ({ row }) =>
+ row.original.rankKey ? (
+ {row.original.rankKey}
+ ) : (
+ —
+ ),
+ },
{
header: t('certification.columns.status'),
cell: ({ row }) => (
diff --git a/apps/backoffice/src/app/features/certification/pages/CertificationPage/index.tsx b/apps/backoffice/src/app/features/certification/pages/CertificationPage/index.tsx
index 717311b65..e3f9ed214 100644
--- a/apps/backoffice/src/app/features/certification/pages/CertificationPage/index.tsx
+++ b/apps/backoffice/src/app/features/certification/pages/CertificationPage/index.tsx
@@ -1,5 +1,5 @@
import { useState } from 'react';
-import {Stack, Button, Modal, Text, TextInput, Textarea, Card} from '@mantine/core';
+import {Stack, Button, Modal, Text, TextInput, Textarea, Select, Card} from '@mantine/core';
import { useDisclosure } from '@mantine/hooks';
import { useTranslation } from 'react-i18next';
import {IconPlus} from '@tabler/icons-react';
@@ -10,7 +10,7 @@ import {
useUpdateCertificationMutation,
useDeleteCertificationMutation,
} from '../../api/certification-api';
-import type { Certification } from '../../types/certification';
+import { RANK_KEY_OPTIONS, type Certification } from '../../types/certification';
import { certificationColumns } from './columns';
import { certificationActionsColumn } from './actions';
@@ -22,7 +22,7 @@ function CertificationForm({
}: {
editing: Certification | null;
isSubmitting: boolean;
- onSubmit: (values: { nameEn: string; nameAm: string; descEn: string; descAm: string }, isEdit: boolean) => void;
+ onSubmit: (values: { nameEn: string; nameAm: string; descEn: string; descAm: string; rankKey: string | null }, isEdit: boolean) => void;
onCancel: () => void;
}) {
const { t } = useTranslation();
@@ -30,6 +30,7 @@ function CertificationForm({
const [nameAm, setNameAm] = useState(editing?.name?.am ?? '');
const [descEn, setDescEn] = useState(editing?.description?.en ?? '');
const [descAm, setDescAm] = useState(editing?.description?.am ?? '');
+ const [rankKey, setRankKey] = useState(editing?.rankKey ?? null);
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
@@ -37,7 +38,7 @@ function CertificationForm({
notify.error('Name fields are required');
return;
}
- onSubmit({ nameEn, nameAm, descEn, descAm }, !!editing);
+ onSubmit({ nameEn, nameAm, descEn, descAm, rankKey }, !!editing);
};
return (
@@ -48,6 +49,17 @@ function CertificationForm({
setNameAm(e.currentTarget.value)} size="sm" required />