-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathapp.config.ts
59 lines (55 loc) · 2.08 KB
/
app.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import { ApplicationConfig, LOCALE_ID, importProvidersFrom, inject } from '@angular/core';
import { BrowserModule, Title } from '@angular/platform-browser';
import {
NavigationError,
Router,
RouterFeatures,
TitleStrategy,
provideRouter,
withComponentInputBinding,
withDebugTracing,
withNavigationErrorHandler,
} from '@angular/router';
import { ServiceWorkerModule } from '@angular/service-worker';
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap';
import './config/dayjs';
import { environment } from 'environments/environment';
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';
const routerFeatures: 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 (environment.DEBUG_INFO_ENABLED) {
routerFeatures.push(withDebugTracing());
}
export const appConfig: ApplicationConfig = {
providers: [
provideRouter(routes, ...routerFeatures),
importProvidersFrom(BrowserModule),
// Set this to true to enable service worker (PWA)
importProvidersFrom(ServiceWorkerModule.register('ngsw-worker.js', { enabled: false })),
provideHttpClient(withInterceptorsFromDi()),
Title,
{ provide: LOCALE_ID, useValue: 'en' },
{ provide: NgbDateAdapter, useClass: NgbDateDayjsAdapter },
httpInterceptorProviders,
{ provide: TitleStrategy, useClass: AppPageTitleStrategy },
// jhipster-needle-angular-add-module JHipster will add new module here
],
};