import { PreloadAllModules, RouterModule } from '@angular/router';
import { Api } from 'app/services/api';
import { AppComponent } from './components/app/app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { BrowserModule } from '@angular/platform-browser';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { routes } from 'app/routes';
import { User } from 'app/services/user';
import { WebSocket } from 'app/services/web-socket';
import { Window } from 'app/services/window';

@NgModule({
    bootstrap: [AppComponent],
    declarations: [AppComponent],
    entryComponents: [],
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        FontAwesomeModule,
        HttpClientModule,
        RouterModule.forRoot(routes, {
            preloadingStrategy: PreloadAllModules,
        }),
    ],
    providers: [Api, User, Window, WebSocket],
})
export class AppModule {}
