Files
dspace-angular/src/app/info/info-routing.module.ts
2024-11-06 09:58:19 +01:00

69 lines
2.2 KiB
TypeScript

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
import {
PRIVACY_PATH,
END_USER_AGREEMENT_PATH,
FEEDBACK_PATH,
ACCESSIBILITY_SETTINGS_PATH
} from './info-routing-paths';
import { ThemedEndUserAgreementComponent } from './end-user-agreement/themed-end-user-agreement.component';
import { ThemedPrivacyComponent } from './privacy/themed-privacy.component';
import { ThemedFeedbackComponent } from './feedback/themed-feedback.component';
import { FeedbackGuard } from '../core/feedback/feedback.guard';
import { environment } from '../../environments/environment';
import { AccessibilitySettingsComponent } from './accessibility-settings/accessibility-settings.component';
const imports = [
RouterModule.forChild([
{
path: FEEDBACK_PATH,
component: ThemedFeedbackComponent,
resolve: { breadcrumb: I18nBreadcrumbResolver },
data: { title: 'info.feedback.title', breadcrumbKey: 'info.feedback' },
canActivate: [FeedbackGuard]
},
{
path: ACCESSIBILITY_SETTINGS_PATH,
component: AccessibilitySettingsComponent,
resolve: { breadcrumb: I18nBreadcrumbResolver },
data: { title: 'info.accessibility-settings.title', breadcrumbKey: 'info.accessibility-settings' },
},
])
];
if (environment.info.enableEndUserAgreement) {
imports.push(
RouterModule.forChild([
{
path: END_USER_AGREEMENT_PATH,
component: ThemedEndUserAgreementComponent,
resolve: { breadcrumb: I18nBreadcrumbResolver },
data: { title: 'info.end-user-agreement.title', breadcrumbKey: 'info.end-user-agreement' }
}
]));
}
if (environment.info.enablePrivacyStatement) {
imports.push(
RouterModule.forChild([
{
path: PRIVACY_PATH,
component: ThemedPrivacyComponent,
resolve: { breadcrumb: I18nBreadcrumbResolver },
data: { title: 'info.privacy.title', breadcrumbKey: 'info.privacy' }
}
]));
}
@NgModule({
imports: [
...imports
]
})
/**
* Module for navigating to components within the info module
*/
export class InfoRoutingModule {
}