import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { ExtraOptions, PreloadAllModules, RouterModule } from '@angular/router'; import { MatIconRegistry, MatIconModule } from '@angular/material/icon'; import { DomSanitizer } from '@angular/platform-browser'; import { MarkdownModule } from 'ngx-markdown'; import { FuseModule } from '@fuse'; import { FuseConfigModule } from '@fuse/services/config'; import { FuseMockApiModule } from '@fuse/lib/mock-api'; import { CoreModule } from 'app/core/core.module'; import { appConfig } from 'app/core/config/app.config'; import { mockApiServices } from 'app/mock-api'; import { LayoutModule } from 'app/layout/layout.module'; import { AppComponent } from 'app/app.component'; import { appRoutes } from 'app/app.routing'; import { NatsModule } from 'app/core/nats/nats.module'; import { WebStorageModule } from 'app/core/web-storage/web-storage.module'; import { environment } from 'environments/environment'; import { DomainModule } from 'app/modules/polyglot/domain/domain.module'; import { MemberModule } from 'app/modules/polyglot/member/member.module'; const routerConfig: ExtraOptions = { preloadingStrategy: PreloadAllModules, scrollPositionRestoration: 'enabled', }; @NgModule({ declarations: [AppComponent], imports: [ BrowserModule, BrowserAnimationsModule, RouterModule.forRoot(appRoutes, routerConfig), // Fuse, FuseConfig & FuseMockAPI FuseModule, FuseConfigModule.forRoot(appConfig), FuseMockApiModule.forRoot(mockApiServices), // Core module of your application CoreModule, // Layout module of your application LayoutModule, // 3rd party modules that require global configuration via forRoot MarkdownModule.forRoot({}), MatIconModule, NatsModule.forRoot(environment.nats), WebStorageModule.forRoot({}), DomainModule.forRoot(), MemberModule.forRoot(), ], bootstrap: [AppComponent], }) export class AppModule { constructor(matIconRegistry: MatIconRegistry, domSanitizer: DomSanitizer) { matIconRegistry.addSvgIconSet( domSanitizer.bypassSecurityTrustResourceUrl('./assets/mdi.svg') ); } }