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 { 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'; @NgModule({ imports: [ StoreModule.forRoot({ degreePlanner: degreePlannerReducer, }), EffectsModule.forRoot([ DegreePlanEffects, NoteEffects, CourseEffects, ErrorEffects, ]), BrowserModule, BrowserAnimationsModule, HttpClientModule, CoreModule, SharedModule, AppRoutingModule, MatAutocompleteModule, A11yModule, StoreDevtoolsModule.instrument({ maxAge: 5, }), ], declarations: [AppComponent, HeaderComponent], entryComponents: [CourseDetailsDialogComponent, FeedbackDialogComponent], providers: [], bootstrap: [AppComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], }) export class AppModule {}