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

import { UIModule } from '@overflow/shared/ui/ui.module';
import { NotificationModule } from '@overflow/notification/notification.module';

import { AppMenuComponent } from '../commons/component/layout/menu/app.menu.component';
import { AppSubMenuComponent } from '../commons/component/layout/menu/app.submenu.component';
import { AppTopbarComponent } from '../commons/component/layout/topbar/app.topbar.component';
import { AppFooterComponent } from '../commons/component/layout/footer/app.footer.component';
import { AppBreadcrumbComponent } from '../commons/component/layout/breadcrumb/app.breadcrumb.component';
import { AppRightpanelComponent } from '../commons/component/layout/right-panel/app.rightpanel.component';
import { AppInlineProfileComponent } from '../commons/component/layout/profile/app.profile.component';
import { AppBannerComponent } from '../commons/component/layout/banner/app.banner.component';
import { BreadcrumbService } from '../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 { TabbarModule } from '../commons/component/layout/tabbar/app.tabbar.module';

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