diff --git a/src/ui/pages/crop/Wrapper.tsx b/src/ui/catalog/Wrapper.tsx similarity index 64% rename from src/ui/pages/crop/Wrapper.tsx rename to src/ui/catalog/Wrapper.tsx index 2374bc6bb5f31c8902268f94b15f08b9a034621f..024004c8d5e19873eb3ea13d8887f472cd22610f 100644 --- a/src/ui/pages/crop/Wrapper.tsx +++ b/src/ui/catalog/Wrapper.tsx @@ -1,13 +1,12 @@ import * as React from 'react'; import { translate } from 'react-i18next'; - import ContentHeader from 'ui/common/heading/ContentHeader'; import renderRoutes from 'ui/renderRoutes'; -function Wrapper({route, match, t}) { +function Wrapper({route, match, t}: { route: any, match: any, t: any}) { return (
- + { renderRoutes(route.routes, match.path) }
); diff --git a/src/ui/pages/dashboard/Wrapper.tsx b/src/ui/pages/dashboard/Wrapper.tsx deleted file mode 100644 index 05aa9ca24f8f992c86fd7535e0be7da9e525095d..0000000000000000000000000000000000000000 --- a/src/ui/pages/dashboard/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/dataset/Wrapper.tsx b/src/ui/pages/dataset/Wrapper.tsx deleted file mode 100644 index d00a05fdcd0fc4ee7a167d1508cff1aab004e27c..0000000000000000000000000000000000000000 --- a/src/ui/pages/dataset/Wrapper.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from 'react'; -import { translate } from 'react-i18next'; - -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -function Wrapper({route, match, t}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} - -export default translate()(Wrapper); diff --git a/src/ui/pages/descriptor/Wrapper.tsx b/src/ui/pages/descriptor/Wrapper.tsx deleted file mode 100644 index 9a4907e2e101a76aec5c1aaacdf048eb9f907f9c..0000000000000000000000000000000000000000 --- a/src/ui/pages/descriptor/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/descriptorlist/Wrapper.tsx b/src/ui/pages/descriptorlist/Wrapper.tsx deleted file mode 100644 index 75738849993c1e54609007fbcd5401fdb755ee2c..0000000000000000000000000000000000000000 --- a/src/ui/pages/descriptorlist/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/genesys/Wrapper.tsx b/src/ui/pages/genesys/Wrapper.tsx deleted file mode 100644 index f8bc1581910e9f903552c0cb29b55ed288dae317..0000000000000000000000000000000000000000 --- a/src/ui/pages/genesys/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/partner/Wrapper.tsx b/src/ui/pages/partner/Wrapper.tsx deleted file mode 100644 index 0eaced50c0c965ce5c3e85fd5a02eaf1d795ad5e..0000000000000000000000000000000000000000 --- a/src/ui/pages/partner/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/profile/Wrapper.tsx b/src/ui/pages/profile/Wrapper.tsx deleted file mode 100644 index b6e09b334bab819825d8764e52d248f2799c9985..0000000000000000000000000000000000000000 --- a/src/ui/pages/profile/Wrapper.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -export default function Wrapper({route, match}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} diff --git a/src/ui/pages/vocabulary/Wrapper.tsx b/src/ui/pages/vocabulary/Wrapper.tsx deleted file mode 100644 index 2f7ad8b54a726a31d3a173c381a5ae657e96ebf1..0000000000000000000000000000000000000000 --- a/src/ui/pages/vocabulary/Wrapper.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from 'react'; -import { translate } from 'react-i18next'; - -import ContentHeader from 'ui/common/heading/ContentHeader'; -import renderRoutes from 'ui/renderRoutes'; - -function Wrapper({route, match, t}) { - return ( -
- - { renderRoutes(route.routes, match.path) } -
- ); -} - -export default translate()(Wrapper); diff --git a/src/ui/renderRoutes.tsx b/src/ui/renderRoutes.tsx index 9d250e9f1a4046e5ee98e56aea37b78ab2869f10..6e4fec17735cfbf38125a68eeacbfaf549724797 100644 --- a/src/ui/renderRoutes.tsx +++ b/src/ui/renderRoutes.tsx @@ -3,9 +3,9 @@ import Switch from 'react-router/Switch'; import { Route } from 'react-router-dom'; import AuthorizedRouteComponent from 'ui/common/authorized/AuthorizedRouteComponent'; -const renderRoutes = (routes, parentPath = '', extraProps = {}, switchProps = {}) => { +const renderRoutes = (routes, parentPath = '', extraProps = {}) => { return routes ? ( - + { routes.map((route, i) => { const absolutePath = (route.path) ? (parentPath !== '/' ? (parentPath + route.path) : route.path) : route.path; return ( diff --git a/src/ui/routes.tsx b/src/ui/routes.tsx index ba79b5222de7e532e0e87506fb0fd3e4cbda937f..cdd87c1b52de690947cbec0a250143333c5677e0 100644 --- a/src/ui/routes.tsx +++ b/src/ui/routes.tsx @@ -1,26 +1,22 @@ import WelcomePage from './pages/welcome'; import App from './App'; -import CropWrapper from './pages/crop/Wrapper'; +import Wrapper from 'ui/catalog/Wrapper'; import CropBrowsePage from './pages/crop/BrowsePage'; import CropEditPage from './pages/crop/EditPage'; -import PartnerWrapper from './pages/partner/Wrapper'; import PartnerBrowsePage from './pages/partner/BrowsePage'; import PartnerDisplayPage from './pages/partner/DisplayPage'; import PartnerEditPage from './pages/partner/EditPage'; -import DatasetWrapper from './pages/dataset/Wrapper'; import DatasetBrowsePage from './pages/dataset/BrowsePage'; import DatasetDisplayPage from './pages/dataset/DisplayPage'; import DatasetStepper from './pages/dataset/dataset-stepper'; -import DescriptorWrapper from './pages/descriptor/Wrapper'; import DescriptorBrowsePage from './pages/descriptor/BrowsePage'; import DescriptorDisplayPage from './pages/descriptor/DisplayPage'; import DescriptorEditPage from './pages/descriptor/EditPage'; -import DescriptorListWrapper from './pages/descriptorlist/Wrapper'; import DescriptorListDisplayPage from './pages/descriptorlist/DisplayPage'; import DescriptorListBrowsePage from './pages/descriptorlist/BrowsePage'; import DescriptorListStepper from 'ui/pages/descriptorlist/descriptorlist-stepper'; @@ -30,24 +26,13 @@ import ImportDescriptorsStep from 'ui/pages/descriptorlist/descriptorlist-steppe import ReorderDescriptorsStep from 'ui/pages/descriptorlist/descriptorlist-stepper/steps/reorder'; import ReviewDescriptorListStep from 'ui/pages/descriptorlist/descriptorlist-stepper/steps/review'; -import VocabularyWrapper from './pages/vocabulary/Wrapper'; import VocabularyBrowsePage from './pages/vocabulary/BrowsePage'; import VocabularyEditPage from './pages/vocabulary/EditPage'; import VocabularyDisplayPage from './pages/vocabulary/DisplayPage'; -import DashboardWrapper from './pages/dashboard/Wrapper'; import DashboardPage from './pages/dashboard/DashboardPage'; import MyDataPage from './pages/dashboard/MyDataPage'; -import UserProfileWrapper from './pages/profile/Wrapper'; -import UserProfilePage from './pages/profile/ProfilePage'; - -import AccessionsWrapper from './pages/genesys/Wrapper'; -import AccessionsBrowsePage from './pages/genesys/BrowsePage'; - -import SearchPage from './pages/search/SearchPage'; -import LoginPage from './pages/login/LoginPage'; - import BasicInfoStep from './pages/dataset/dataset-stepper/steps/basic-info'; import FilesStep from './pages/dataset/dataset-stepper/steps/files'; import Creators from './pages/dataset/dataset-stepper/steps/creators'; @@ -56,6 +41,10 @@ import TimingAndLocationStep from './pages/dataset/dataset-stepper/steps/timing- import ReviewAndPublishStep from './pages/dataset/dataset-stepper/steps/review'; import Traits from './pages/dataset/dataset-stepper/steps/traits'; +import UserProfilePage from './pages/profile/ProfilePage'; +import AccessionsBrowsePage from './pages/genesys/BrowsePage'; +import SearchPage from './pages/search/SearchPage'; +import LoginPage from './pages/login/LoginPage'; import GuiTest from './pages/ui-design/Gui'; import NotFound from './common/not-found'; import {ROLE_ADMINISTRATOR, ROLE_USER} from 'constants/userRoles'; @@ -71,7 +60,11 @@ const routes = [ }, { path: '/partners', - component: PartnerWrapper, + component: Wrapper, + extraProps: { + title: 'Genesys partners', + subtitle: 'Partners in the Catalog of Phenotypic Datasets', + }, routes: [ { path: '/edit', @@ -99,7 +92,11 @@ const routes = [ }, { path: '/descriptors', - component: DescriptorWrapper, + component: Wrapper, + extraProps: { + title: 'Descriptor definitions', + subtitle: 'Genesys Catalog of published descriptor definitions', + }, routes: [ { path: '/edit', @@ -178,7 +175,11 @@ const routes = [ }, { path: '/descriptorlists', - component: DescriptorListWrapper, + component: Wrapper, + extraProps: { + title: 'Crop descriptors', + subtitle: 'Compilations of crop descriptors', + }, routes: [ { path: '/:uuid', @@ -254,7 +255,11 @@ const routes = [ }, { path: '/datasets', - component: DatasetWrapper, + component: Wrapper, + extraProps: { + title: 'p.datasets.title', + subtitle: 'p.datasets.subtitle', + }, routes: [ { path: '/:uuid', @@ -270,7 +275,11 @@ const routes = [ }, { path: '/crops', - component: CropWrapper, + component: Wrapper, + extraProps: { + title: 'p.crop.title', + subtitle: 'p.crop.subtitle', + }, routes: [ { path: '/create', @@ -293,7 +302,11 @@ const routes = [ }, { path: '/vocabulary', - component: VocabularyWrapper, + component: Wrapper, + extraProps: { + title: 'p.vocab.title', + subtitle: 'p.vocab.subtitle', + }, routes: [ { path: '/create', @@ -321,7 +334,11 @@ const routes = [ }, { path: '/accessions', - component: AccessionsWrapper, + component: Wrapper, + extraProps: { + title: 'Genesys accessions', + subtitle: 'Browse accession data on Genesys', + }, routes: [ { path: '/', @@ -342,7 +359,11 @@ const routes = [ }, { path: '/dashboard', - component: DashboardWrapper, + component: Wrapper, + extraProps: { + title: 'My Dashboard', + subtitle: 'Manage data published on Genesys', + }, auth: [ROLE_USER, ROLE_ADMINISTRATOR], routes: [ { @@ -405,7 +426,11 @@ const routes = [ }, { path: '/profile', - component: UserProfileWrapper, + component: Wrapper, + extraProps: { + title: 'User profile', + subtitle: 'You can see and update your profile information here', + }, auth: [ROLE_USER, ROLE_ADMINISTRATOR], routes: [ {