import {CUSTOM_ELEMENTS_SCHEMA, NgModule} from '@angular/core';
import { BrowserModule }
  from '@angular/platform-browser';

import { BrowserAnimationsModule }
  from '@angular/platform-browser/animations';
import { MatIconModule } from '@angular/material/icon';
import {HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi} from '@angular/common/http';

import {MainComponent} from './main-module/main.component/main.component';
import {authInterceptorProviders} from './helpers/auth.interceptor';
import {AdminComponent} from './admin-module/admin.component/admin.component';
import {AdminWelcomeComponent} from './admin-module/admin-welcome.component/admin-welcome.component';
import {SettingsComponent} from './admin-module/settings.component/settings.component';
import {SystemComponent} from './admin-module/system.component/system.component';
import {AppRoutingModule} from './app.routes';
import {App} from './app';
import {CustomHttpInterceptor} from './helpers/custom-http-interceptor';


@NgModule({
  declarations: [

  ],
  imports: [
    AppRoutingModule,
    MainComponent,
    BrowserModule,
    MatIconModule,
    BrowserAnimationsModule,
    AdminComponent,
    AdminWelcomeComponent,
    SettingsComponent,
    SystemComponent,

  ],
  providers: [
    authInterceptorProviders,provideHttpClient(withInterceptorsFromDi()),{
      provide: HTTP_INTERCEPTORS,
      useClass: CustomHttpInterceptor,
      multi: true
    }],

  bootstrap: [],
  schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
})
export class AppModule { }
