import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { HttpClientModule } from '@angular/common/http'; import { StoreModule } from '@ngrx/store'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; import { EffectsModule } from '@ngrx/effects'; import { A11yModule } from '@angular/cdk/a11y'; import { AppRoutingModule } from './app.routing.module'; import { AppComponent } from './app.component'; import { CoreModule } from '@app/core/core.module'; import { SharedModule } from '@app/shared/shared.module'; import { HeaderComponent } from './core/header/header.component'; import { degreePlannerReducer } from '@app/degree-planner/store/reducer'; import { DegreePlanEffects } from '@app/degree-planner/store/effects/plan.effects'; import { UserPreferencesEffects } from '@app/degree-planner/store/effects/userPreferences.effects'; import { NoteEffects } from '@app/degree-planner/store/effects/note.effects'; import { CourseEffects } from '@app/degree-planner/store/effects/course.effects'; import { ErrorEffects } from '@app/degree-planner/store/effects/error.effects'; import { MatAutocompleteModule } from '@angular/material/autocomplete'; import { CourseDetailsDialogComponent } from './degree-planner/dialogs/course-details-dialog/course-details-dialog.component'; import { FeedbackDialogComponent } from './degree-planner/dialogs/feedback-dialog/feedback-dialog.component'; import { CreditOverloadDialogComponent } from './degree-planner/dialogs/credit-overload-dialog/credit-overload-dialog.component'; import { GoogleAnalyticsService } from './shared/services/google-analytics.service'; import { IE11WarningDialogComponent } from './degree-planner/dialogs/ie11-warning-dialog/ie11-warning-dialog.component'; import { darsReducer } from './dars/store/reducer'; import { DARSEffects } from './dars/store/effects'; @NgModule({ imports: [ StoreModule.forRoot({ degreePlanner: degreePlannerReducer, dars: darsReducer, }), EffectsModule.forRoot([ DegreePlanEffects, NoteEffects, CourseEffects, ErrorEffects, UserPreferencesEffects, DARSEffects, ]), BrowserModule, BrowserAnimationsModule, HttpClientModule, CoreModule, SharedModule, AppRoutingModule, MatAutocompleteModule, A11yModule, StoreDevtoolsModule.instrument({ maxAge: 5, }), ], declarations: [AppComponent, HeaderComponent], entryComponents: [ CourseDetailsDialogComponent, FeedbackDialogComponent, CreditOverloadDialogComponent, IE11WarningDialogComponent, ], providers: [GoogleAnalyticsService], bootstrap: [AppComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class AppModule { constructor(protected _googleAnalyticsService: GoogleAnalyticsService) {} }