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 />