diff --git a/src/core/features/courses/services/handlers/dashboard-link.ts b/src/core/features/courses/services/handlers/dashboard-link.ts index b506909cc..05ad995a0 100644 --- a/src/core/features/courses/services/handlers/dashboard-link.ts +++ b/src/core/features/courses/services/handlers/dashboard-link.ts @@ -15,17 +15,18 @@ import { Injectable } from '@angular/core'; import { CoreContentLinksHandlerBase } from '@features/contentlinks/classes/base-handler'; import { CoreContentLinksAction } from '@features/contentlinks/services/contentlinks-delegate'; +import { CoreMainMenuHomeHandlerService } from '@features/mainmenu/services/handlers/mainmenu'; import { CoreNavigator } from '@services/navigator'; import { makeSingleton } from '@singletons'; import { CoreDashboardHomeHandler, CoreDashboardHomeHandlerService } from './dashboard-home'; /** - * Handler to treat links to my overview. + * Handler to treat links to dashboard. */ @Injectable({ providedIn: 'root' }) export class CoreCoursesDashboardLinkHandlerService extends CoreContentLinksHandlerBase { - name = 'CoreCoursesMyOverviewLinkHandler'; + name = 'CoreCoursesDashboardLinkHandler'; pattern = /\/my\/?$/; /** @@ -37,7 +38,13 @@ export class CoreCoursesDashboardLinkHandlerService extends CoreContentLinksHand return [{ action: (siteId): void => { // Use redirect to select the tab. - CoreNavigator.navigateToSitePath(CoreDashboardHomeHandlerService.PAGE_NAME, { siteId }); + CoreNavigator.navigateToSitePath( + `/${CoreMainMenuHomeHandlerService.PAGE_NAME}/${CoreDashboardHomeHandlerService.PAGE_NAME}`, + { + siteId, + preferCurrentTab: false, + }, + ); }, }]; } diff --git a/src/core/features/sitehome/services/handlers/index-link.ts b/src/core/features/sitehome/services/handlers/index-link.ts index fcb3b4b99..1f6e333a6 100644 --- a/src/core/features/sitehome/services/handlers/index-link.ts +++ b/src/core/features/sitehome/services/handlers/index-link.ts @@ -20,6 +20,8 @@ import { CoreContentLinksAction } from '@features/contentlinks/services/contentl import { CoreSiteHome } from '../sitehome'; import { makeSingleton } from '@singletons'; import { CoreNavigator } from '@services/navigator'; +import { CoreSiteHomeHomeHandlerService } from './sitehome-home'; +import { CoreMainMenuHomeHandlerService } from '@features/mainmenu/services/handlers/mainmenu'; /** * Handler to treat links to site home index. @@ -29,7 +31,7 @@ export class CoreSiteHomeIndexLinkHandlerService extends CoreContentLinksHandler name = 'CoreSiteHomeIndexLinkHandler'; featureName = 'CoreMainMenuDelegate_CoreSiteHome'; - pattern = /\/course\/view\.php.*([?&]id=\d+)/; + pattern = /\/course\/view\.php.*([?&]id=\d+)|\/index\.php(\?redirect=0)?/; /** * @inheritdoc @@ -37,10 +39,13 @@ export class CoreSiteHomeIndexLinkHandlerService extends CoreContentLinksHandler getActions(): CoreContentLinksAction[] | Promise { return [{ action: (siteId: string): void => { - CoreNavigator.navigateToSitePath('/home/site', { - preferCurrentTab: false, - siteId, - }); + CoreNavigator.navigateToSitePath( + `/${CoreMainMenuHomeHandlerService.PAGE_NAME}/${CoreSiteHomeHomeHandlerService.PAGE_NAME}`, + { + preferCurrentTab: false, + siteId, + }, + ); }, }]; } @@ -51,7 +56,7 @@ export class CoreSiteHomeIndexLinkHandlerService extends CoreContentLinksHandler async isEnabled(siteId: string, url: string, params: Record, courseId?: number): Promise { courseId = parseInt(params.id, 10); if (!courseId) { - return false; + return url.includes('index.php'); } const site = await CoreSites.getSite(siteId);