Skip to content
Snippets Groups Projects
Forked from an inaccessible project.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
app.module.ts 1.76 KiB
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 { 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 { SidenavService } from './core/service/sidenav.service';
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 { MatAutocompleteModule } from '@angular/material/autocomplete';
import { CourseDetailsDialogComponent } from './degree-planner/dialogs/course-details-dialog/course-details-dialog.component';

@NgModule({
  imports: [
    StoreModule.forRoot({
      degreePlanner: degreePlannerReducer,
    }),
    EffectsModule.forRoot([DegreePlanEffects, NoteEffects]),
    BrowserModule,
    BrowserAnimationsModule,
    HttpClientModule,
    CoreModule,
    SharedModule,
    AppRoutingModule,
    MatAutocompleteModule,
    StoreDevtoolsModule.instrument({
      maxAge: 5,
    }),
  ],
  declarations: [AppComponent, HeaderComponent],
  entryComponents: [CourseDetailsDialogComponent],
  providers: [SidenavService],
  bootstrap: [AppComponent],
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
export class AppModule {}