import { NgModule, APP_INITIALIZER} from '@angular/core';
import { CommonModule } from '@angular/common';

import { AppMenuComponent } from 'app/commons/component/layout/menu/app.menu.component';
import { AppSubMenuComponent } from 'app/commons/component/layout/menu/app.submenu.component';
import { AppTopbarComponent } from 'app/commons/component/layout/topbar/app.topbar.component';
import { AppFooterComponent } from 'app/commons/component/layout/footer/app.footer.component';
import { AppBreadcrumbComponent } from 'app/commons/component/layout/breadcrumb/app.breadcrumb.component';
import { AppRightpanelComponent } from 'app/commons/component/layout/right-panel/app.rightpanel.component';
import { AppInlineProfileComponent } from 'app/commons/component/layout/profile/app.profile.component';
import { BreadcrumbService } from 'app/commons/service/breadcrumb.service';

import {
  LocalizationModule,
} from 'angular-l10n';

import { PagesComponent } from './pages.component';
import { PagesRoutingModule } from './pages-routing.module';
import { LocationStrategy, HashLocationStrategy } from '@angular/common';
import { PrimeNGModules } from 'packages/commons/prime-ng/prime-ng.module';
import { TabbarModule } from 'app/commons/component/layout/tabbar/app.tabbar.module';
import { AppNotificationComponent } from '../commons/component/layout/notification/app.notification.component';
import { NotificationModule } from 'packages/notification/notification.module';

@NgModule({
  imports: [
    CommonModule,
    PagesRoutingModule,
    LocalizationModule,
    PrimeNGModules,
    TabbarModule,
    NotificationModule
  ],
  declarations: [
    PagesComponent,
    AppMenuComponent,
    AppSubMenuComponent,
    AppTopbarComponent,
    AppFooterComponent,
    AppBreadcrumbComponent,
    AppRightpanelComponent,
    AppInlineProfileComponent,
    AppNotificationComponent
  ],
  providers: [
    { provide: LocationStrategy, useClass: HashLocationStrategy },
    BreadcrumbService,
  ]
})
export class PagesModule { }
