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 = [ 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 ], };