64 lines
2.3 KiB
TypeScript
64 lines
2.3 KiB
TypeScript
import { ApplicationConfig, LOCALE_ID, importProvidersFrom, inject } from '@angular/core';
|
|
import { BrowserModule, Title } from '@angular/platform-browser';
|
|
import {
|
|
Router,
|
|
RouterFeatures,
|
|
TitleStrategy,
|
|
provideRouter,
|
|
withComponentInputBinding,
|
|
withDebugTracing,
|
|
withNavigationErrorHandler,
|
|
NavigationError,
|
|
} from '@angular/router';
|
|
import { ServiceWorkerModule } from '@angular/service-worker';
|
|
import { HttpClientModule } from '@angular/common/http';
|
|
|
|
import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';
|
|
|
|
import { DEBUG_INFO_ENABLED } from 'app/app.constants';
|
|
import './config/dayjs';
|
|
import { TranslationModule } from 'app/shared/language/translation.module';
|
|
import { httpInterceptorProviders } from './core/interceptor';
|
|
import routes from './app.routes';
|
|
// jhipster-needle-angular-add-module-import JHipster will add new module here
|
|
import { NgbDateDayjsAdapter } from './config/datepicker-adapter';
|
|
import { AppPageTitleStrategy } from './app-page-title-strategy';
|
|
|
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
|
|
const routerFeatures: Array<RouterFeatures> = [
|
|
withComponentInputBinding(),
|
|
withNavigationErrorHandler((e: NavigationError) => {
|
|
const router = inject(Router);
|
|
if (e.error.status === 403) {
|
|
router.navigate(['/accessdenied']);
|
|
} else if (e.error.status === 404) {
|
|
router.navigate(['/404']);
|
|
} else if (e.error.status === 401) {
|
|
router.navigate(['/login']);
|
|
} else {
|
|
router.navigate(['/error']);
|
|
}
|
|
}),
|
|
];
|
|
if (DEBUG_INFO_ENABLED) {
|
|
routerFeatures.push(withDebugTracing());
|
|
}
|
|
|
|
export const appConfig: ApplicationConfig = {
|
|
providers: [
|
|
provideRouter(routes, ...routerFeatures),
|
|
importProvidersFrom(BrowserModule),
|
|
importProvidersFrom(BrowserAnimationsModule),
|
|
// Set this to true to enable service worker (PWA)
|
|
importProvidersFrom(ServiceWorkerModule.register('ngsw-worker.js', { enabled: false })),
|
|
importProvidersFrom(TranslationModule),
|
|
importProvidersFrom(HttpClientModule),
|
|
Title,
|
|
{ provide: LOCALE_ID, useValue: 'pt-PT' },
|
|
{ provide: NgbDateAdapter, useClass: NgbDateDayjsAdapter },
|
|
httpInterceptorProviders,
|
|
{ provide: TitleStrategy, useClass: AppPageTitleStrategy },
|
|
// jhipster-needle-angular-add-module JHipster will add new module here
|
|
],
|
|
};
|