From 7a51ae7b1366dbbac8265b434071d0690c00741c Mon Sep 17 00:00:00 2001 From: Florian Necas Date: Mon, 12 Jun 2023 14:04:52 +0200 Subject: [PATCH 1/2] feat: update router redirection to remove home --- .../src/app/home/home-header/home-header.component.ts | 2 +- .../home/navigation-menu/navigation-menu.component.ts | 2 +- .../news-page/key-figures/key-figures.component.ts | 9 +++------ .../src/app/router/datahub-router.service.spec.ts | 8 ++++---- apps/datahub/src/app/router/datahub-router.service.ts | 10 +++++----- 5 files changed, 14 insertions(+), 17 deletions(-) diff --git a/apps/datahub/src/app/home/home-header/home-header.component.ts b/apps/datahub/src/app/home/home-header/home-header.component.ts index 54e388f61c..23d3a19674 100644 --- a/apps/datahub/src/app/home/home-header/home-header.component.ts +++ b/apps/datahub/src/app/home/home-header/home-header.component.ts @@ -39,7 +39,7 @@ export class HomeHeaderComponent { ) {} displaySortBadges$ = this.routerFacade.currentRoute$.pipe( - map((route) => route.url[0].path === ROUTER_ROUTE_NEWS) + map((route) => route.url[0]?.path === ROUTER_ROUTE_NEWS) ) isAuthenticated$ = this.authService diff --git a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts index 1ffb3f95b9..5ee041ee87 100644 --- a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts +++ b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts @@ -39,7 +39,7 @@ export class NavigationMenuComponent { activeLink$ = this.routerFacade.currentRoute$.pipe( map( (route) => - this.tabLinks.find((tab) => tab.link === route.url[0].path) || { + this.tabLinks.find((tab) => tab.link === route.url[0]?.path) || { link: '', label: '', } diff --git a/apps/datahub/src/app/home/news-page/key-figures/key-figures.component.ts b/apps/datahub/src/app/home/news-page/key-figures/key-figures.component.ts index 38e8b70651..ee8202c58a 100644 --- a/apps/datahub/src/app/home/news-page/key-figures/key-figures.component.ts +++ b/apps/datahub/src/app/home/news-page/key-figures/key-figures.component.ts @@ -5,10 +5,7 @@ import { RecordsService, } from '@geonetwork-ui/feature/catalog' import { ROUTER_ROUTE_SEARCH } from '@geonetwork-ui/feature/router' -import { - ROUTER_ROUTE_HOME, - ROUTER_ROUTE_ORGANISATIONS, -} from '../../../router/constants' +import { ROUTER_ROUTE_ORGANISATIONS } from '../../../router/constants' @Component({ selector: 'datahub-key-figures', @@ -19,8 +16,8 @@ import { export class KeyFiguresComponent { recordsCount$ = this.catalogRecords.recordsCount$.pipe(startWith('-')) orgsCount$ = this.catalogOrgs.organisationsCount$.pipe(startWith('-')) - ROUTE_SEARCH = `/${ROUTER_ROUTE_HOME}/${ROUTER_ROUTE_SEARCH}` - ROUTE_ORGANISATIONS = `/${ROUTER_ROUTE_HOME}/${ROUTER_ROUTE_ORGANISATIONS}` + ROUTE_SEARCH = `/${ROUTER_ROUTE_SEARCH}` + ROUTE_ORGANISATIONS = `/${ROUTER_ROUTE_ORGANISATIONS}` constructor( private catalogRecords: RecordsService, diff --git a/apps/datahub/src/app/router/datahub-router.service.spec.ts b/apps/datahub/src/app/router/datahub-router.service.spec.ts index 3b0b6cd80b..f9fcb17c86 100644 --- a/apps/datahub/src/app/router/datahub-router.service.spec.ts +++ b/apps/datahub/src/app/router/datahub-router.service.spec.ts @@ -15,16 +15,16 @@ const RouterMock = { const expectedRoutes = [ { path: '', - redirectTo: 'home/news', + redirectTo: 'news', pathMatch: 'full', }, { path: 'home', - redirectTo: 'home/search', - pathMatch: 'full', + redirectTo: '', + pathMatch: 'prefix', }, { - path: 'home', + path: '', component: HomePageComponent, data: { shouldDetach: true, diff --git a/apps/datahub/src/app/router/datahub-router.service.ts b/apps/datahub/src/app/router/datahub-router.service.ts index f5a419a2e9..d907f7ce49 100644 --- a/apps/datahub/src/app/router/datahub-router.service.ts +++ b/apps/datahub/src/app/router/datahub-router.service.ts @@ -29,16 +29,16 @@ export class DatahubRouterService { return [ { path: '', - redirectTo: `${ROUTER_ROUTE_HOME}/${ROUTER_ROUTE_NEWS}`, + redirectTo: ROUTER_ROUTE_NEWS, pathMatch: 'full', }, { path: ROUTER_ROUTE_HOME, - redirectTo: `${ROUTER_ROUTE_HOME}/${ROUTER_ROUTE_SEARCH}`, - pathMatch: 'full', + redirectTo: ``, + pathMatch: 'prefix', }, { - path: ROUTER_ROUTE_HOME, + path: '', component: HomePageComponent, data: { shouldDetach: true, @@ -75,6 +75,6 @@ export class DatahubRouterService { } getSearchRoute(): string { - return `${ROUTER_ROUTE_HOME}/${ROUTER_ROUTE_SEARCH}` + return `${ROUTER_ROUTE_SEARCH}` } } From 2c0eb959eae91c35940045afe72ae571bf55f73f Mon Sep 17 00:00:00 2001 From: Florian Necas Date: Thu, 15 Jun 2023 13:51:20 +0200 Subject: [PATCH 2/2] fix: improve router redirection --- .../app/home/home-header/home-header.component.ts | 2 +- .../navigation-menu/navigation-menu.component.ts | 2 +- .../src/app/router/datahub-router.service.spec.ts | 10 +++++----- .../datahub/src/app/router/datahub-router.service.ts | 12 ++++++------ 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/apps/datahub/src/app/home/home-header/home-header.component.ts b/apps/datahub/src/app/home/home-header/home-header.component.ts index 23d3a19674..54e388f61c 100644 --- a/apps/datahub/src/app/home/home-header/home-header.component.ts +++ b/apps/datahub/src/app/home/home-header/home-header.component.ts @@ -39,7 +39,7 @@ export class HomeHeaderComponent { ) {} displaySortBadges$ = this.routerFacade.currentRoute$.pipe( - map((route) => route.url[0]?.path === ROUTER_ROUTE_NEWS) + map((route) => route.url[0].path === ROUTER_ROUTE_NEWS) ) isAuthenticated$ = this.authService diff --git a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts index 5ee041ee87..1ffb3f95b9 100644 --- a/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts +++ b/apps/datahub/src/app/home/navigation-menu/navigation-menu.component.ts @@ -39,7 +39,7 @@ export class NavigationMenuComponent { activeLink$ = this.routerFacade.currentRoute$.pipe( map( (route) => - this.tabLinks.find((tab) => tab.link === route.url[0]?.path) || { + this.tabLinks.find((tab) => tab.link === route.url[0].path) || { link: '', label: '', } diff --git a/apps/datahub/src/app/router/datahub-router.service.spec.ts b/apps/datahub/src/app/router/datahub-router.service.spec.ts index f9fcb17c86..a6df320637 100644 --- a/apps/datahub/src/app/router/datahub-router.service.spec.ts +++ b/apps/datahub/src/app/router/datahub-router.service.spec.ts @@ -13,11 +13,6 @@ const RouterMock = { } const expectedRoutes = [ - { - path: '', - redirectTo: 'news', - pathMatch: 'full', - }, { path: 'home', redirectTo: '', @@ -30,6 +25,11 @@ const expectedRoutes = [ shouldDetach: true, }, children: [ + { + path: '', + redirectTo: 'news', + pathMatch: 'prefix', + }, { path: 'news', component: NewsPageComponent, diff --git a/apps/datahub/src/app/router/datahub-router.service.ts b/apps/datahub/src/app/router/datahub-router.service.ts index d907f7ce49..5563216c3f 100644 --- a/apps/datahub/src/app/router/datahub-router.service.ts +++ b/apps/datahub/src/app/router/datahub-router.service.ts @@ -27,11 +27,6 @@ export class DatahubRouterService { buildRoutes(): Routes { return [ - { - path: '', - redirectTo: ROUTER_ROUTE_NEWS, - pathMatch: 'full', - }, { path: ROUTER_ROUTE_HOME, redirectTo: ``, @@ -44,6 +39,11 @@ export class DatahubRouterService { shouldDetach: true, }, children: [ + { + path: '', + redirectTo: ROUTER_ROUTE_NEWS, + pathMatch: 'prefix', + }, { path: ROUTER_ROUTE_NEWS, component: NewsPageComponent, @@ -75,6 +75,6 @@ export class DatahubRouterService { } getSearchRoute(): string { - return `${ROUTER_ROUTE_SEARCH}` + return `${ROUTER_ROUTE_HOME}/${ROUTER_ROUTE_SEARCH}` } }