// Angular Core
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

// Components
import { AccountVerifyComponent } from './components/account-verify/account-verify.component';
import { ConfirmEmailComponent } from './components/confirm-email/confirm-email.component';
import { LoginComponent } from './components/login/login.component';
import { ESignComponent } from './components/register/e-sign/e-sign.component';
import { LicenseVerificationComponent } from './components/register/license-verification/license-verification.component';
import { QuestionnaireComponent } from './components/register/questionnaire/questionnaire.component';
import { RegisterComponent } from './components/register/register.component';
import { RetrievePasswordComponent } from './components/retrieve-password/retrieve-password.component';
import { PaymentComponent } from './components/register/payment/payment.component';

// Guards
import { AuthGuard } from './guards/auth.guard';


const routes: Routes = [
  { path: 'login', component: LoginComponent, data: {title: 'Login'} },
  { path: 'registration', component: RegisterComponent, data: {title: 'Register'} },
  { path: 'confirmEmail', component: ConfirmEmailComponent, data: {title: 'Confirm Email'}, canActivate : [AuthGuard] },
  { path: 'accountVerify', component: AccountVerifyComponent, data: {title: 'Account Verify'}, canActivate : [AuthGuard] },
  { path: 'retrievePassword', component: RetrievePasswordComponent, data: {title: 'Retrieve Password'} },
  { path: 'licenseVerification', component: LicenseVerificationComponent, data: {title: 'License Verification'}, canActivate : [AuthGuard] },
  { path: 'eSign', component: ESignComponent, data: {title: 'ESign'}, canActivate : [AuthGuard] },
  { path: 'questionnaire', component: QuestionnaireComponent, data: {title: 'Questionnarie'}, canActivate : [AuthGuard] },
  { path: 'payment', component: PaymentComponent, data: {title: 'Payment'}, canActivate : [AuthGuard] },
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class AuthRoutingModule { }