import { CommonModule } from '@angular/common';
import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { JwtHelperService } from '@auth0/angular-jwt';
import { SkipLoginGuard } from '../../providers/guards/skip-login.guard';
import { DeviceService } from '../../providers/services/device.service';
import { LogService } from '../../providers/services/log.service';
import { AuthGuard } from '../../providers/guards/auth.guard';
import { LogOutGuard } from '../../providers/guards/log-out.guard';
import { ErrorStore, SessionStore } from '../../providers/stores';
import { AuthService } from '../../providers/services/auth.service';
import { StorageService } from '../../providers/services/storage.service';
import { RoutingLookupService } from '../../providers/services/routing-lookup.service';
import { MaskPipe, PhonePipe } from '../../providers/pipes';
import {
MatSidenavModule,
MatToolbarModule,
MatIconModule,
MatButtonModule,
MatCheckboxModule,
MatCardModule,
MatInputModule
} from '@angular/material';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { LoaderModule } from '../loader/loader.module';
import { LoaderStore } from '../loader/loader.store';
const helper = new JwtHelperService();
@NgModule({
imports: [
CommonModule,
FormsModule,
HttpClientModule,
LoaderModule,
RouterModule,
BrowserAnimationsModule,
MatSidenavModule,
MatToolbarModule,
MatIconModule,
MatButtonModule,
MatCheckboxModule,
MatCardModule,
MatInputModule
],
declarations: [MaskPipe, PhonePipe],
exports: [MaskPipe, PhonePipe],
providers: [
{ provide: JwtHelperService, useValue: helper },
MaskPipe,
SkipLoginGuard,
DeviceService,
LogService,
AuthGuard,
LogOutGuard,
ErrorStore,
SessionStore,
AuthService,
StorageService,
LoaderStore,
RoutingLookupService
]
})
export class SharedModule {}