Skip to content

Commit 9f8ab1a

Browse files
committed
feat(CollectionPage): change Home to Collection Page
1 parent 9faccc3 commit 9f8ab1a

28 files changed

Lines changed: 80 additions & 55 deletions
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
2-
"title": "Root",
32
"noDatasetsMessage": {
43
"authenticated": "This dataverse currently has no datasets. You can add to it by using the Add Data button on this page.",
54
"anonymous": "This dataverse currently has no datasets. Please <1>log in</1> to see if you are able to add to it."

src/Router.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { DatasetFactory } from './sections/dataset/DatasetFactory'
55
import { PageNotFound } from './sections/page-not-found/PageNotFound'
66
import { CreateDatasetFactory } from './sections/create-dataset/CreateDatasetFactory'
77
import { FileFactory } from './sections/file/FileFactory'
8-
import { HomeFactory } from './sections/home/HomeFactory'
8+
import { CollectionFactory } from './sections/collection/CollectionFactory'
99
import { DatasetNonNumericVersion } from './dataset/domain/models/Dataset'
1010

1111
const router = createBrowserRouter(
@@ -17,7 +17,11 @@ const router = createBrowserRouter(
1717
children: [
1818
{
1919
path: Route.HOME,
20-
element: HomeFactory.create()
20+
element: CollectionFactory.create()
21+
},
22+
{
23+
path: Route.COLLECTIONS,
24+
element: CollectionFactory.create()
2125
},
2226
{
2327
path: Route.DATASETS,
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { Row } from '@iqss/dataverse-design-system'
2-
import { useTranslation } from 'react-i18next'
32
import { DatasetRepository } from '../../dataset/domain/repositories/DatasetRepository'
43
import { DatasetsList } from './datasets-list/DatasetsList'
54
import { BreadcrumbsGenerator } from '../shared/hierarchy/BreadcrumbsGenerator'
@@ -8,23 +7,34 @@ import {
87
UpwardHierarchyNode
98
} from '../../shared/hierarchy/domain/models/UpwardHierarchyNode'
109

11-
interface HomeProps {
10+
interface CollectionProps {
1211
datasetRepository: DatasetRepository
12+
id: string
1313
page?: number
1414
}
15-
16-
export function Home({ datasetRepository, page }: HomeProps) {
17-
const { t } = useTranslation('home')
18-
15+
const rootNode = new UpwardHierarchyNode('Root', DvObjectType.COLLECTION, 'root', undefined)
16+
export function Collection({ datasetRepository, id, page }: CollectionProps) {
1917
return (
2018
<Row>
2119
<BreadcrumbsGenerator
22-
hierarchy={new UpwardHierarchyNode('Root', DvObjectType.COLLECTION, undefined, undefined)}
20+
hierarchy={
21+
new UpwardHierarchyNode(
22+
capitalizeFirstLetter(id),
23+
DvObjectType.COLLECTION,
24+
id,
25+
undefined,
26+
id !== rootNode.id ? rootNode : undefined
27+
)
28+
}
2329
/>
2430
<header>
25-
<h1>{t('title')}</h1>
31+
<h1>{capitalizeFirstLetter(id)}</h1>
2632
</header>
2733
<DatasetsList datasetRepository={datasetRepository} page={page} />
2834
</Row>
2935
)
3036
}
37+
38+
function capitalizeFirstLetter(text: string): string {
39+
return text.charAt(0).toUpperCase() + text.slice(1)
40+
}
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
import { ReactElement } from 'react'
2-
import { Home } from './Home'
2+
import { Collection } from './Collection'
33
import { DatasetJSDataverseRepository } from '../../dataset/infrastructure/repositories/DatasetJSDataverseRepository'
44
import { useSearchParams } from 'react-router-dom'
55

66
const datasetRepository = new DatasetJSDataverseRepository()
7-
export class HomeFactory {
7+
export class CollectionFactory {
88
static create(): ReactElement {
9-
return <HomeWithSearchParams />
9+
return <CollectionWithSearchParams />
1010
}
1111
}
1212

13-
function HomeWithSearchParams() {
13+
function CollectionWithSearchParams() {
1414
const [searchParams] = useSearchParams()
1515
const page = searchParams.get('page') ? parseInt(searchParams.get('page') as string) : undefined
16+
const id = searchParams.get('id') ? (searchParams.get('id') as string) : 'root'
1617

17-
return <Home datasetRepository={datasetRepository} page={page} />
18+
return <Collection datasetRepository={datasetRepository} page={page} id={id} />
1819
}

src/sections/home/datasets-list/DatasetsList.module.scss renamed to src/sections/collection/datasets-list/DatasetsList.module.scss

File renamed without changes.
File renamed without changes.

src/sections/home/datasets-list/DatasetsListSkeleton.tsx renamed to src/sections/collection/datasets-list/DatasetsListSkeleton.tsx

File renamed without changes.

src/sections/home/datasets-list/NoDatasetsMessage.tsx renamed to src/sections/collection/datasets-list/NoDatasetsMessage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { useSession } from '../../session/SessionContext'
44
import { Route } from '../../Route.enum'
55

66
export function NoDatasetsMessage() {
7-
const { t } = useTranslation('home')
7+
const { t } = useTranslation('collection')
88
const { user } = useSession()
99

1010
return (

src/sections/home/datasets-list/PageNumberNotFound.tsx renamed to src/sections/collection/datasets-list/PageNumberNotFound.tsx

File renamed without changes.

src/sections/home/datasets-list/dataset-card/DatasetCard.module.scss renamed to src/sections/collection/datasets-list/dataset-card/DatasetCard.module.scss

File renamed without changes.

0 commit comments

Comments
 (0)