You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.7 KiB
TypeScript
52 lines
1.7 KiB
TypeScript
import { ApplicationConfig, importProvidersFrom, provideZoneChangeDetection } from '@angular/core';
|
|
import { provideRouter } from '@angular/router';
|
|
|
|
import { routes } from './app.routes';
|
|
import { provideClientHydration, withEventReplay } from '@angular/platform-browser';
|
|
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
|
import { HTTP_INTERCEPTORS, HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
|
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
import { AuthInterceptor } from './shared/interceptors/auth.interceptor';
|
|
import { ToastrModule } from 'ngx-toastr';
|
|
import { provideAnimations } from '@angular/platform-browser/animations';
|
|
import { LoadingInterceptor } from './shared/interceptors/loading.interceptor';
|
|
|
|
export function HttpLoaderFactory(http: HttpClient) {
|
|
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
|
|
}
|
|
|
|
export const appConfig: ApplicationConfig = {
|
|
providers: [
|
|
provideZoneChangeDetection({ eventCoalescing: true }),
|
|
provideRouter(routes),
|
|
provideClientHydration(withEventReplay()),
|
|
provideHttpClient(withInterceptorsFromDi()),
|
|
provideAnimations(),
|
|
{
|
|
provide: HTTP_INTERCEPTORS,
|
|
useClass: AuthInterceptor,
|
|
multi: true
|
|
},
|
|
{
|
|
provide: HTTP_INTERCEPTORS,
|
|
useClass: LoadingInterceptor,
|
|
multi: true
|
|
},
|
|
importProvidersFrom(
|
|
TranslateModule.forRoot({
|
|
loader: {
|
|
provide: TranslateLoader,
|
|
useFactory: HttpLoaderFactory,
|
|
deps: [HttpClient],
|
|
},
|
|
}),
|
|
ToastrModule.forRoot({
|
|
timeOut: 4000,
|
|
positionClass: 'toast-top-right',
|
|
newestOnTop: true,
|
|
closeButton: true
|
|
}),
|
|
)
|
|
]
|
|
};
|