import { FormsModule } from '@angular/forms'; import { TwitterLoginComponent } from './login/twitter-login/twitter-login.component'; import { SnackBarNotificationComponent } from '../shared/components/notificaiton/snack-bar-notification.component'; import { LinkedInLoginComponent } from './login/linkedin-login/linkedin-login.component'; import { LoginRoutes } from './login.routes'; import { MaterialModule } from '../shared/material/material.module'; import { SharedModule } from '../shared/shared.module'; import { LoginServiceConfiguration } from './utilties/LoginServiceConfiguration'; import { LoginService } from './utilties/login-service'; import { LoginComponent } from './login/login.component'; import { ModuleWithProviders, NgModule } from "@angular/core"; import { CommonModule } from '@angular/common'; import { AdminLoginComponent } from '../user-management/admin-login/admin-login.component'; @NgModule({ imports: [ SharedModule, CommonModule, LoginRoutes, FormsModule ], declarations: [ LoginComponent, LinkedInLoginComponent, TwitterLoginComponent, AdminLoginComponent ], exports: [ LoginComponent, LinkedInLoginComponent, TwitterLoginComponent, AdminLoginComponent ], providers: [LoginService] }) export class LoginModule { static forRoot(config: LoginServiceConfiguration): ModuleWithProviders { return { ngModule: LoginModule, providers: [ { provide: LoginServiceConfiguration, useValue: config } ], }; } }