import { BNYEmployeeAssessmentComponent } from '../employee/employee-dashboard/bny-employee-assessment/bny-employee-assessment.component';
import { BNYEmployeeAssessmentLeftPanelComponent } from '../employee/employee-dashboard/bny-employee-assessment/shared/bny-employee-assessment-left-panel/bny-employee-assessment-left-panel.component';
import { BNYEmployeeAssessmentRightPanelBusinessComponent } from '../employee/employee-dashboard/bny-employee-assessment/shared/bny-employee-assessment-right-panel-business/bny-employee-assessment-right-panel-business.component';
import { BNYEmployeeAssessmentRightPanelPrimaryComponent } from '../employee/employee-dashboard/bny-employee-assessment/shared/bny-employee-assessment-right-panel-primary/bny-employee-assessment-right-panel-primary.component';
import { BNYEmployeeAssessmentRightPanelTechnicalComponent } from '../employee/employee-dashboard/bny-employee-assessment/shared/bny-employee-assessment-right-panel-technical/bny-employee-assessment-right-panel-technical.component';
import { BnyEmployeeCourseSelectionComponent } from '../employee/bny-employee-course-selection/bny-employee-course-selection.component';
import { BnyEmployeeDashboardComponent } from '../employee/bny-employee-dashboard/bny-employee-dashboard.component';
import { CardInnovationComponent } from '../employee/shared/innovation/card-component-innovation/card-innovation.component';
import { CategoryFilterModalComponent } from '../shared/category-filter-modal/category-filter-modal.component';
import { CommonModule } from '@angular/common';
import { CourseEmployecomponentComponent } from '../coach/course-employecomponent/course-employecomponent.component';
import { EmployeeAssessmentComponent } from '../employee/employee-dashboard/employee-assessment/employee-assessment.component';
import { EmployeeCardComponent } from '../employee/employee-newdashboard/employee-review/employee-card/employee-card.component';
import { EmployeeComponent } from '../employee/employee.component';
import { EmployeeCoursesComponent } from '../employee/employee-dashboard/employee-courses/employee-courses.component';
import { EmployeeDashboardComponent } from '../employee/employee-dashboard/employee-dashboard.component';
import { EmployeeDashboardContentComponent } from '../employee/employee-dashboard/employee-dashboard-content/employee-dashboard-content.component';
import { EmployeeDashboardHomeCTComponent } from '../employee/employee-dashboard/employee-dashboard-content/employee-dashboard-home-ct/employee-dashboard-home-ct.component';
import { EmployeeDashboardHomeCTContentComponent } from '../employee/employee-dashboard/employee-dashboard-content/employee-dashboard-home-ct/employee-dashboard-home-ctcontent/employee-dashboard-home-ctcontent.component';
import { EmployeeDashboardLeaderBoardComponent } from '../employee/shared/employee-dashboard-leader-board/employee-dashboard-leader-board.component';
import { EmployeeDashboardTabNames } from '../models/employee.model';
import { EmployeeFirstTimeComponent } from '../employee/employee-first-time/employee-first-time.component';
import { EmployeeFirstTimeWizardComponent } from '../employee/employee-first-time-wizard/employee-first-time-wizard.component';
import { EmployeeMiniAssessmentComponent } from '../employee/employee-dashboard/employee-mini-assessment/employee-mini-assessment.component';
import { EmployeeNewdashboardComponent } from '../employee/employee-newdashboard/employee-newdashboard.component';
import { EmployeeOldDashboardComponent } from '../employee/employee-dashboard/employee-old-dashboard/employee-old-dashboard.component';
import { EmployeeProfileComponent } from '../employee/employee-profile/employee-profile.component';
import { EmployeeProfileModule } from '../employee/employee-profile/employee-profile.module';
import { EmployeeReviewComponent } from '../employee/employee-newdashboard/employee-review/employee-review.component';
import { EmployeeReviewDetailsComponent } from '../employee/employee-newdashboard/employee-review-details/employee-review-details.component';
import { EmployeeReviewDoneComponent } from '../employee/employee-newdashboard/employee-review-done/employee-review-done.component';
import { EmployeeReviewFeedbackComponent } from '../employee/employee-newdashboard/employee-review-feedback/employee-review-feedback.component';
import { EmployeeReviewInfoComponent } from '../employee/employee-newdashboard/employee-review-info/employee-review-info.component';
import { EmployeeReviewListComponent } from '../employee/employee-newdashboard/employee-review-list/employee-review-list.component';
import { EmployeeReviewStatusComponent } from '../employee/employee-newdashboard/employee-review-status/employee-review-status.component';
import { EmployeeSandboxComponent } from '../employee/employee-dashboard/employee-sandbox/employee-sandbox.component';
import { EmployeeSandboxPresentationComponent } from '../employee/employee-sandbox-presentation/employee-sandbox-presentation.component';
import { EmployeeSandboxProgressIconComponent } from '../employee/employee-sandbox-progress-icon/employee-sandbox-progress-icon.component';
import { EmployeeSearchBarComponent } from '../employee/shared/employee-search-bar/employee-search-bar.component';
import { EmployeeTaskComponent } from '../employee/employee-newdashboard/employee-task/employee-task.component';
import { EmployeeWizardCT1Component } from '../employee/employee-first-time-wizard/employee-wizard-ct1/employee-wizard-ct1.component';
import { EmployeeWizardCT2Component } from '../employee/employee-first-time-wizard/employee-wizard-ct2/employee-wizard-ct2.component';
import { EmployeeWizardInnovationComponent } from '../employee/employee-first-time-wizard/employee-wizard-innovation/employee-wizard-innovation.component';
import { EmployeeWizardPlatformComponent } from '../employee/employee-first-time-wizard/employee-wizard-platform/employee-wizard-platform.component';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { InnovationFormComponent } from '../employee/shared/innovation/innovation-form/innovation-form.component';
import { InnovationListComponent } from '../employee/shared/innovation/innovation-list/innovation-list.component';
import { InnovationStatusComponent } from '../employee/shared/innovation/innovation-status/innovation-status.component';
import { InnovationTabComponent } from '../employee/employee-dashboard/employee-dashboard-content/innovation-tab/innovation-tab.component';
import { InnovationType } from '../models/InnovationIdea.model';
import { LearnigPathDetailsComponent } from '../employee/employee-dashboard/learnig-path-details/learnig-path-details.component';
import { MyInnovationIdeaComponent } from '../employee/employee-dashboard/my-innovation-idea/my-innovation-idea.component';
import { MyInnovationIdeaReviewerComponent } from '../employee/employee-dashboard/my-innovation-idea/my-innovation-idea-reviewer/my-innovation-idea-reviewer.component';
import { NgCircleProgressModule } from '../../../node_modules/ng-circle-progress';
import { NgModule } from '@angular/core';
import { QuestionFormComponent } from '../employee/employee-newdashboard/employee-review-feedback/question-form/question-form.component';
import { QuestionFormResponseComponent } from '../employee/employee-newdashboard/employee-review-feedback/question-form-response/question-form-response.component';
import { RouterModule, Routes } from '@angular/router';
import { SharedModule } from './shared.module';
import { StarRatingModule } from '../../../node_modules/angular-star-rating';
import { EmployeeNewDashboardComponent } from '../employee/employee-dashboard/employee-new-dashboard/employee-new-dashboard.component';
import { EmployeeProjectDetailsComponent } from '../employee/shared/employee-project-details/employee-project-details.component';


const routes: Routes = [

    { path: 'employee', component: EmployeeComponent },
    { path: 'employee/employeeCourseSelection', component: BnyEmployeeCourseSelectionComponent },
    {
        path: 'employee/dashboard',
        component: EmployeeDashboardComponent,
        children: [
          { path: '', component: EmployeeDashboardContentComponent },
          { path: EmployeeDashboardTabNames.capability, component: EmployeeDashboardContentComponent },
          { path: EmployeeDashboardTabNames.platform, component: EmployeeDashboardContentComponent },
          { path: EmployeeDashboardTabNames.innovation, component: EmployeeDashboardContentComponent },
          { path: 'courses', component: EmployeeCoursesComponent },
          { path: 'my-innovation-idea/:id', component: MyInnovationIdeaComponent },
          { path: 'sandbox', component: EmployeeSandboxComponent },
          { path: 'assessment', component: EmployeeAssessmentComponent },
          { path: 'assessment/:id', component: EmployeeAssessmentComponent },
          { path: 'miniAssessment/:id', component: EmployeeMiniAssessmentComponent },
          { path: 'profile', component: EmployeeProfileComponent, data: { fullProfile: true } },
          { path: 'list/:id/:adId', component: EmployeeReviewDetailsComponent },
          { path: 'employeeAssessment/:id/:eventId', component: BNYEmployeeAssessmentComponent },
          { path: 'employeeLearningPath/:id', component: LearnigPathDetailsComponent },
          {
            path: 'old',
            component: EmployeeOldDashboardComponent,
            children: [
              { path: '', component: EmployeeDashboardContentComponent },
              { path: EmployeeDashboardTabNames.capability, component: EmployeeDashboardContentComponent },
              { path: EmployeeDashboardTabNames.platform, component: EmployeeDashboardContentComponent },
              { path: EmployeeDashboardTabNames.innovation, component: EmployeeDashboardContentComponent }
            ]
          }
        ]
      },
      {
        path: 'employee/sandbox',
        component: EmployeeSandboxPresentationComponent
      },
      { path: 'employeeCourseSelection', component: BnyEmployeeCourseSelectionComponent },
      {
        path: 'employee/first-time', component: EmployeeFirstTimeComponent
      },
      { path: 'employee/first-time/profile', component: EmployeeProfileComponent, data: { fullProfile: false } },
      {
        path: 'employee/first-time-wizard', component: EmployeeFirstTimeWizardComponent,
        children: [
          { path: '', component: EmployeeWizardCT1Component },
          { path: 'capability_1', component: EmployeeWizardCT1Component },
          { path: 'capability_2', component: EmployeeWizardCT2Component },
          { path: 'platform', component: EmployeeWizardPlatformComponent },
          { path: 'innovation/' + InnovationType.idea, component: EmployeeWizardInnovationComponent },
          { path: 'innovation/' + InnovationType.idea + '/:id', component: EmployeeWizardInnovationComponent },
          { path: 'innovation/' + InnovationType.poc, component: EmployeeWizardInnovationComponent },
          { path: 'innovation/' + InnovationType.poc + '/:id', component: EmployeeWizardInnovationComponent },
        ]
      },
      {path: 'employee/engEnv', component: EmployeeNewDashboardComponent,
      children: [
        { path: 'viewProject', component: EmployeeProjectDetailsComponent }
      ]}
];

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    SharedModule,
    ReactiveFormsModule,
    EmployeeProfileModule,
    NgCircleProgressModule.forRoot({
      radius: 40,
      outerStrokeWidth: 7,
      innerStrokeWidth: 6,
      outerStrokeColor: '#67CAFF',
      innerStrokeColor: '#D3D3D3',
      subtitleColor: '#000000',
      showUnits : false,
      space : 0,
      animation : true,
      animationDuration: 300,
      titleFontSize: '24',
      subtitleFontSize  : '14',
      showTitle  : true,
      showInnerStroke : true,
      backgroundPadding : 25,
    }),
    StarRatingModule.forRoot(),
    RouterModule.forChild(routes)
  ],
  declarations: [
    EmployeeDashboardComponent,
    EmployeeDashboardContentComponent,
    EmployeeCoursesComponent,
    MyInnovationIdeaComponent,
    EmployeeSandboxComponent,
    EmployeeAssessmentComponent,
    EmployeeMiniAssessmentComponent,
    EmployeeReviewDetailsComponent,
    EmployeeReviewDetailsComponent,
    BNYEmployeeAssessmentComponent,
    EmployeeOldDashboardComponent,
    BnyEmployeeCourseSelectionComponent,
    EmployeeSandboxPresentationComponent,
    EmployeeFirstTimeComponent,
    EmployeeFirstTimeWizardComponent,
    EmployeeWizardCT1Component,
    EmployeeWizardCT2Component,
    EmployeeWizardPlatformComponent,
    EmployeeWizardInnovationComponent,
    EmployeeSandboxProgressIconComponent,
    EmployeeTaskComponent,
    EmployeeNewdashboardComponent,
    BnyEmployeeDashboardComponent,
    EmployeeReviewComponent,
    EmployeeReviewDoneComponent,
    EmployeeReviewStatusComponent,
    EmployeeReviewInfoComponent,
    EmployeeReviewListComponent,
    EmployeeReviewFeedbackComponent,
    EmployeeCardComponent,
    EmployeeSearchBarComponent,
    EmployeeDashboardHomeCTComponent,
    EmployeeDashboardLeaderBoardComponent,
    QuestionFormComponent,
    QuestionFormResponseComponent,
    BNYEmployeeAssessmentLeftPanelComponent,
    BNYEmployeeAssessmentRightPanelPrimaryComponent,
    BNYEmployeeAssessmentRightPanelTechnicalComponent,
    BNYEmployeeAssessmentRightPanelBusinessComponent,
    InnovationStatusComponent,
    MyInnovationIdeaReviewerComponent,
    InnovationFormComponent,
    InnovationTabComponent,
    InnovationListComponent,
    CardInnovationComponent,
    CategoryFilterModalComponent
  ]
})
export class EmpRoutingModule { }
