diff --git a/frontend/packages/data-portal/app/components/Deposition/MethodLinks/MethodLinksOverview.tsx b/frontend/packages/data-portal/app/components/Deposition/MethodLinks/MethodLinksOverview.tsx index 30db5d448..e4fa7f16d 100644 --- a/frontend/packages/data-portal/app/components/Deposition/MethodLinks/MethodLinksOverview.tsx +++ b/frontend/packages/data-portal/app/components/Deposition/MethodLinks/MethodLinksOverview.tsx @@ -17,6 +17,7 @@ import { useI18n } from 'app/hooks/useI18n' import { generateMethodLinks } from './common' import { MethodLink } from './MethodLink' import { MethodLinkDataType } from './type' +import { Annotation_Method_Type_Enum } from 'app/__generated_v2__/graphql' function MethodTypeSection({ methodType, @@ -87,11 +88,17 @@ export function MethodLinksOverview() { {t('annotationMethodsSummary')}
- {deposition.annotation_methods - .sort( - (a, b) => - methodTypes.indexOf((a.method_type ?? 'manual') as MethodType) - - methodTypes.indexOf((b.method_type ?? 'manual') as MethodType), + {deposition.annotationMethodAndMethodLinksCombinations?.aggregate + ?.sort( + (aggregateA, aggregateB) => + methodTypes.indexOf( + aggregateA.groupBy?.methodType ?? + Annotation_Method_Type_Enum.Manual, + ) - + methodTypes.indexOf( + aggregateB.groupBy?.methodType ?? + Annotation_Method_Type_Enum.Manual, + ), ) .map(({ method_type, method_links }, i) => ( <> diff --git a/frontend/packages/data-portal/app/constants/methodTypes.ts b/frontend/packages/data-portal/app/constants/methodTypes.ts index 098aa9b23..3e6f6bacb 100644 --- a/frontend/packages/data-portal/app/constants/methodTypes.ts +++ b/frontend/packages/data-portal/app/constants/methodTypes.ts @@ -2,7 +2,12 @@ import { Annotation_Method_Type_Enum } from 'app/__generated_v2__/graphql' import { I18nKeys } from 'app/types/i18n' import { checkExhaustive } from 'app/types/utils' -export const methodTypes = ['hybrid', 'automated', 'manual'] as const +export const METHOD_TYPE_ORDER = [ + Annotation_Method_Type_Enum.Hybrid, + Annotation_Method_Type_Enum.Automated, + Annotation_Method_Type_Enum.Manual, + Annotation_Method_Type_Enum.Simulated, +] export type MethodType = (typeof methodTypes)[number] diff --git a/frontend/packages/data-portal/app/hooks/useDepositionById.ts b/frontend/packages/data-portal/app/hooks/useDepositionById.ts index 10f2a131b..a10386a49 100644 --- a/frontend/packages/data-portal/app/hooks/useDepositionById.ts +++ b/frontend/packages/data-portal/app/hooks/useDepositionById.ts @@ -9,8 +9,7 @@ export type Deposition = NonNullable export type Dataset = GetDepositionByIdQuery['datasets'][number] export function useDepositionById() { - const { v1, v2 } = useTypedLoaderData<{ - v1: GetDepositionByIdQuery + const { v2 } = useTypedLoaderData<{ v2: GetDepositionByIdV2Query }>() @@ -24,7 +23,7 @@ export function useDepositionById() { ) return { - deposition: v1.deposition as Deposition, + deposition: v2.depositions[0], datasets: v2.datasets, annotationMethodCounts, }