1 import { registerLocaleData } from '@angular/common';
2 import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
3 import { ErrorHandler, NgModule } from '@angular/core';
4 import { BrowserModule } from '@angular/platform-browser';
5 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7 import { JwtModule } from '@auth0/angular-jwt';
8 import { I18n } from '@ngx-translate/i18n-polyfill';
9 import { BlockUIModule } from 'ng-block-ui';
10 import { AccordionModule } from 'ngx-bootstrap/accordion';
11 import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
12 import { TabsModule } from 'ngx-bootstrap/tabs';
13 import { ToastrModule } from 'ngx-toastr';
15 import { AppRoutingModule } from './app-routing.module';
16 import { AppComponent } from './app.component';
17 import { CephModule } from './ceph/ceph.module';
18 import { CoreModule } from './core/core.module';
19 import { i18nProviders, LocaleHelper } from './locale.helper';
20 import { ApiInterceptorService } from './shared/services/api-interceptor.service';
21 import { JsErrorHandler } from './shared/services/js-error-handler.service';
22 import { SharedModule } from './shared/shared.module';
24 export function jwtTokenGetter() {
25 return localStorage.getItem('access_token');
28 registerLocaleData(LocaleHelper.getLocaleData(), LocaleHelper.getLocale());
31 declarations: [AppComponent],
34 BlockUIModule.forRoot(),
36 BrowserAnimationsModule,
37 ToastrModule.forRoot({
38 positionClass: 'toast-top-right',
39 preventDuplicates: true,
46 AccordionModule.forRoot(),
47 BsDropdownModule.forRoot(),
51 tokenGetter: jwtTokenGetter
55 exports: [SharedModule],
58 provide: ErrorHandler,
59 useClass: JsErrorHandler
62 provide: HTTP_INTERCEPTORS,
63 useClass: ApiInterceptorService,
69 bootstrap: [AppComponent]
71 export class AppModule {}