From 132d82cab843a02029d701a8ff0a6aa92d48c15d Mon Sep 17 00:00:00 2001 From: Fabian Engelniederhammer Date: Tue, 1 Oct 2024 10:52:06 +0200 Subject: [PATCH] fix(website): don't display data as "restricted" when the last restricted data use terms expired The backend only returns the history - which does not include "OPEN" as a last entry when the restricted period expired. LAPIS has the correct values - let's simply rely on that. --- .../SequenceDetailsPage/SequenceDataUI.tsx | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/website/src/components/SequenceDetailsPage/SequenceDataUI.tsx b/website/src/components/SequenceDetailsPage/SequenceDataUI.tsx index d2aeb883f..ed099e924 100644 --- a/website/src/components/SequenceDetailsPage/SequenceDataUI.tsx +++ b/website/src/components/SequenceDetailsPage/SequenceDataUI.tsx @@ -1,13 +1,16 @@ +import type { FC } from 'react'; + import DataTable from './DataTable'; import { RevokeButton } from './RevokeButton'; import { SequencesContainer } from './SequencesContainer'; import { getDataTableData } from './getDataTableData'; import { type TableDataEntry } from './types'; import { routes } from '../../routes/routes'; -import { type DataUseTermsHistoryEntry, type Group } from '../../types/backend'; +import { DATA_USE_TERMS_FIELD } from '../../settings.ts'; +import { type DataUseTermsHistoryEntry, type Group, type RestrictedDataUseTerms } from '../../types/backend'; import { type Schema } from '../../types/config'; import { type ReferenceGenomesSequenceNames } from '../../types/referencesGenomes'; -import { type RuntimeConfig, type ClientConfig } from '../../types/runtimeConfig'; +import { type ClientConfig, type RuntimeConfig } from '../../types/runtimeConfig'; import { EditDataUseTermsButton } from '../DataUseTerms/EditDataUseTermsButton'; import ErrorBox from '../common/ErrorBox'; import MdiEye from '~icons/mdi/eye'; @@ -25,7 +28,7 @@ interface Props { referenceGenomeSequenceNames: ReferenceGenomesSequenceNames; } -export const SequenceDataUI: React.FC = ({ +export const SequenceDataUI: FC = ({ tableData, organism, accessionVersion, @@ -44,12 +47,8 @@ export const SequenceDataUI: React.FC = ({ dataUseTermsHistory.sort((a, b) => (a.changeDate > b.changeDate ? -1 : 1)); const currentDataUseTerms = dataUseTermsHistory[0].dataUseTerms; - const dataUseTermsIndex = tableData.findIndex((entry) => entry.name === 'dataUseTerms'); - if (dataUseTermsIndex !== -1) { - tableData[dataUseTermsIndex].value = currentDataUseTerms.type; - } - - const isRestricted = currentDataUseTerms.type === 'RESTRICTED'; + const dataUseTerms = tableData.find((entry) => entry.name === DATA_USE_TERMS_FIELD); + const isRestricted = dataUseTerms?.value.toString().toUpperCase() === 'RESTRICTED'; const genes = referenceGenomeSequenceNames.genes; const nucleotideSegmentNames = referenceGenomeSequenceNames.nucleotideSequences; @@ -95,7 +94,7 @@ export const SequenceDataUI: React.FC = ({ clientConfig={clientConfig} accessToken={accessToken} accessionVersion={[accessionVersion.split('.')[0]]} - dataUseTerms={currentDataUseTerms} + dataUseTerms={currentDataUseTerms as RestrictedDataUseTerms} /> )}