import { NgModule } from "@angular/core"; import { BrowserModule } from "@angular/platform-browser"; import { HttpClient, provideHttpClient, withInterceptorsFromDi } from "@angular/common/http"; import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; import { TranslateModule, TranslateLoader, TranslatePipe } from "@ngx-translate/core"; import { TranslateHttpLoader } from "@ngx-translate/http-loader"; import { AppComponent } from "./app.component"; import { RouterModule, Routes } from "@angular/router"; import { SharedModule } from "./shared/shared.module"; import { CoreModule } from "./core/core.module"; import { AngularSvgIconModule } from 'angular-svg-icon'; import { DatePipe } from "@angular/common"; import { AuthService } from "./core/auth/services/auth.service"; import { AuthGuard } from "./core/auth/guards/auth.guard"; import { UserService } from "./core/user/services/user.service"; const routes: Routes = [ { path: "auth", loadChildren: () => import("./core/auth/auth.module").then((m) => m.AuthModule), }, { path: "", loadChildren: () => import("./core/home/home.module").then((m) => m.HomeModule), } ]; export function createTranslateLoader(http: HttpClient) { return new TranslateHttpLoader(http, "./assets/i18n/", ".json"); } @NgModule({ declarations: [AppComponent], bootstrap: [AppComponent], imports: [ BrowserModule, BrowserAnimationsModule, RouterModule, RouterModule.forRoot(routes), TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: createTranslateLoader, deps: [HttpClient], }, }), AngularSvgIconModule.forRoot(), SharedModule, CoreModule ], providers: [ provideHttpClient(withInterceptorsFromDi()), TranslatePipe, DatePipe, AuthGuard, AuthService, UserService, ], }) export class AppModule {}