@@ -5,7 +5,7 @@ import { useNavigate, useSearchParams } from 'react-router-dom'
55import { DatasetLabels } from './dataset-labels/DatasetLabels'
66import { useLoading } from '../loading/LoadingContext'
77import { DatasetSkeleton , TabsSkeleton } from './DatasetSkeleton'
8- import { PageNotFound } from '../page- not-found/PageNotFound '
8+ import { NotFoundPage } from '../not-found-page/NotFoundPage '
99import { useTranslation } from 'react-i18next'
1010import { DatasetMetadata } from './dataset-metadata/DatasetMetadata'
1111import { DatasetSummary } from './dataset-summary/DatasetSummary'
@@ -87,6 +87,11 @@ export function Dataset({
8787 if ( isDatasetLoading && ! dataset ) {
8888 return < DatasetSkeleton />
8989 }
90+
91+ if ( ! dataset ) {
92+ return < NotFoundPage dvObjectNotFoundType = "dataset" />
93+ }
94+
9095 const handleCustomTermsClick = ( ) => {
9196 setActiveTab ( 'terms' )
9297 const newParams = new URLSearchParams ( searchParams )
@@ -101,100 +106,96 @@ export function Dataset({
101106 setActiveTab ( key )
102107 }
103108 }
109+
104110 return (
105111 < >
106112 < NotImplementedModal show = { isModalOpen } handleClose = { hideModal } />
107- { ! dataset ? (
108- < PageNotFound />
109- ) : (
110- < >
111- < BreadcrumbsGenerator hierarchy = { dataset . hierarchy } />
112- < article >
113- < div className = { styles . container } >
114- < Row >
115- < Col >
116- < DatasetAlerts />
117- </ Col >
118- </ Row >
119- </ div >
120113
121- < header className = { styles . header } >
122- < h1 > { dataset . version . title } </ h1 >
123- < DatasetLabels labels = { dataset . version . labels } />
124- </ header >
125- < div className = { styles . container } >
126- < Row >
127- < Col sm = { 9 } >
128- < DatasetCitation thumbnail = { dataset . thumbnail } version = { dataset . version } />
129- </ Col >
130- < Col sm = { 3 } >
131- < DatasetActionButtons
132- datasetRepository = { datasetRepository }
133- collectionRepository = { collectionRepository }
134- dataset = { dataset }
135- contactRepository = { contactRepository }
114+ < BreadcrumbsGenerator hierarchy = { dataset . hierarchy } />
115+ < article >
116+ < div className = { styles . container } >
117+ < Row >
118+ < Col >
119+ < DatasetAlerts />
120+ </ Col >
121+ </ Row >
122+ </ div >
123+
124+ < header className = { styles . header } >
125+ < h1 > { dataset . version . title } </ h1 >
126+ < DatasetLabels labels = { dataset . version . labels } />
127+ </ header >
128+ < div className = { styles . container } >
129+ < Row >
130+ < Col sm = { 9 } >
131+ < DatasetCitation thumbnail = { dataset . thumbnail } version = { dataset . version } />
132+ </ Col >
133+ < Col sm = { 3 } >
134+ < DatasetActionButtons
135+ datasetRepository = { datasetRepository }
136+ collectionRepository = { collectionRepository }
137+ dataset = { dataset }
138+ contactRepository = { contactRepository }
139+ />
140+ </ Col >
141+ </ Row >
142+ < Row >
143+ < Col sm = { 9 } className = { styles [ 'summary-container' ] } >
144+ < DatasetSummary
145+ summaryFields = { dataset . summaryFields }
146+ license = { dataset . license }
147+ onCustomTermsClick = { handleCustomTermsClick }
148+ metadataBlockInfoRepository = { metadataBlockInfoRepository }
149+ />
150+ </ Col >
151+ </ Row >
152+ { publishInProgress && < TabsSkeleton /> }
153+
154+ { ( ! publishInProgress || ! isDatasetLoading ) && (
155+ < Tabs defaultActiveKey = { activeTab } onSelect = { handleTabSelect } >
156+ < Tabs . Tab eventKey = "files" title = { t ( 'filesTabTitle' ) } >
157+ < div className = { styles [ 'tab-container' ] } >
158+ { filesTabInfiniteScrollEnabled ? (
159+ < DatasetFilesScrollable
160+ filesRepository = { fileRepository }
161+ datasetPersistentId = { dataset . persistentId }
162+ datasetVersion = { dataset . version }
163+ key = { dataset . version . publishingStatus }
164+ />
165+ ) : (
166+ < DatasetFiles
167+ filesRepository = { fileRepository }
168+ datasetPersistentId = { dataset . persistentId }
169+ datasetVersion = { dataset . version }
170+ />
171+ ) }
172+ </ div >
173+ </ Tabs . Tab >
174+ < Tabs . Tab eventKey = "metadata" title = { t ( 'metadataTabTitle' ) } >
175+ < div className = { styles [ 'tab-container' ] } >
176+ < DatasetMetadata
177+ persistentId = { dataset . persistentId }
178+ metadataBlocks = { dataset . metadataBlocks }
179+ metadataBlockInfoRepository = { metadataBlockInfoRepository }
136180 />
137- </ Col >
138- </ Row >
139- < Row >
140- < Col sm = { 9 } className = { styles [ 'summary-container' ] } >
141- < DatasetSummary
142- summaryFields = { dataset . summaryFields }
181+ </ div >
182+ </ Tabs . Tab >
183+ < Tabs . Tab title = { t ( 'termsTabTitle' ) } eventKey = { 'terms' } >
184+ < div ref = { termsTabRef } className = { styles [ 'tab-container' ] } >
185+ < DatasetTerms
143186 license = { dataset . license }
144- onCustomTermsClick = { handleCustomTermsClick }
145- metadataBlockInfoRepository = { metadataBlockInfoRepository }
187+ termsOfUse = { dataset . termsOfUse }
188+ filesRepository = { fileRepository }
189+ datasetPersistentId = { dataset . persistentId }
190+ datasetVersion = { dataset . version }
146191 />
147- </ Col >
148- </ Row >
149- { publishInProgress && < TabsSkeleton /> }
150-
151- { ( ! publishInProgress || ! isDatasetLoading ) && (
152- < Tabs defaultActiveKey = { activeTab } onSelect = { handleTabSelect } >
153- < Tabs . Tab eventKey = "files" title = { t ( 'filesTabTitle' ) } >
154- < div className = { styles [ 'tab-container' ] } >
155- { filesTabInfiniteScrollEnabled ? (
156- < DatasetFilesScrollable
157- filesRepository = { fileRepository }
158- datasetPersistentId = { dataset . persistentId }
159- datasetVersion = { dataset . version }
160- key = { dataset . version . publishingStatus }
161- />
162- ) : (
163- < DatasetFiles
164- filesRepository = { fileRepository }
165- datasetPersistentId = { dataset . persistentId }
166- datasetVersion = { dataset . version }
167- />
168- ) }
169- </ div >
170- </ Tabs . Tab >
171- < Tabs . Tab eventKey = "metadata" title = { t ( 'metadataTabTitle' ) } >
172- < div className = { styles [ 'tab-container' ] } >
173- < DatasetMetadata
174- persistentId = { dataset . persistentId }
175- metadataBlocks = { dataset . metadataBlocks }
176- metadataBlockInfoRepository = { metadataBlockInfoRepository }
177- />
178- </ div >
179- </ Tabs . Tab >
180- < Tabs . Tab title = { t ( 'termsTabTitle' ) } eventKey = { 'terms' } >
181- < div ref = { termsTabRef } className = { styles [ 'tab-container' ] } >
182- < DatasetTerms
183- license = { dataset . license }
184- termsOfUse = { dataset . termsOfUse }
185- filesRepository = { fileRepository }
186- datasetPersistentId = { dataset . persistentId }
187- datasetVersion = { dataset . version }
188- />
189- </ div >
190- </ Tabs . Tab >
191- </ Tabs >
192- ) }
193- < SeparationLine />
194- </ div >
195- </ article >
196- </ >
197- ) }
192+ </ div >
193+ </ Tabs . Tab >
194+ </ Tabs >
195+ ) }
196+ < SeparationLine />
197+ </ div >
198+ </ article >
198199 </ >
199200 )
200201}
0 commit comments