import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { NativeScriptCommonModule } from '@nativescript/angular';
import { NgxsModule } from '@ngxs/store';
import { NativeScriptUIChartModule } from 'nativescript-ui-chart/angular';
import { NativeScriptUIDataFormModule } from 'nativescript-ui-dataform/angular';
import { NativeScriptUIListViewModule } from 'nativescript-ui-listview/angular';
import { StsDetailBillBasicListComponent } from '~/pages/sts/components/sts-detail-bill-basic-list/sts-detail-bill-basic-list.component';
import { StsDetailInfoComponent } from '~/pages/sts/components/sts-detail-info/sts-detail-info.component';
import { StsDetailStatsChartComponent } from '~/pages/sts/components/sts-detail-stats-chart/sts-detail-stats-chart.component';
import { StsDetailStatsDataComponent } from '~/pages/sts/components/sts-detail-stats-data/sts-detail-stats-data.component';
import { StsDetailTariffServicesComponent } from '~/pages/sts/components/sts-detail-tariff-services/sts-detail-tariff-services.component';
import { StsDetailUpdateFupModalComponent } from '~/pages/sts/components/sts-detail-update-fup-modal/sts-detail-update-fup-modal.component';
import { StsNumberListViewComponent } from '~/pages/sts/components/sts-number-list-view/sts-number-list-view.component';
import { StsStatsChartComponent } from '~/pages/sts/components/sts-stats-chart/sts-stats-chart.component';
import { StsStatsDataComponent } from '~/pages/sts/components/sts-stats-data/sts-stats-data.component';
import { StsDetailBillComponent } from '~/pages/sts/containers/sts-detail-bill/sts-detail-bill.component';
import { StsDetailStatsComponent } from '~/pages/sts/containers/sts-detail-stats/sts-detail-stats.component';
import { StsDetailComponent } from '~/pages/sts/containers/sts-detail/sts-detail.component';
import { StsStatsComponent } from '~/pages/sts/containers/sts-stats/sts-stats.component';
import { StsComponent } from '~/pages/sts/containers/sts/sts.component';
import { StsDetailBillState } from '~/pages/sts/state-mgmt/sts-detail-bill.state';
import { StsDetailStatsState } from '~/pages/sts/state-mgmt/sts-detail-stats.state';
import { StsDetailState } from '~/pages/sts/state-mgmt/sts-detail.state';
import { StsStatsState } from '~/pages/sts/state-mgmt/sts-stats.state';
import { StsState } from '~/pages/sts/state-mgmt/sts.state';
import { StsRoutingModule } from '~/pages/sts/sts-routing.module';
import { DateTimePipe } from '~/shared/pipes/date-time.pipe';
import { PhonePipe } from '~/shared/pipes/phone.pipe';
import { SharedModule } from '~/shared/shared.module';

@NgModule({
    imports: [
        NativeScriptCommonModule,
        StsRoutingModule,
        NativeScriptUIListViewModule,
        NativeScriptUIDataFormModule,
        NativeScriptUIChartModule,
        SharedModule,
        NgxsModule.forFeature([
            StsState,
            StsDetailState,
            StsDetailBillState,
            StsDetailStatsState,
            StsStatsState
        ])
    ],
    declarations: [
        StsComponent,
        StsStatsComponent,
        StsDetailComponent,
        StsDetailBillComponent,
        StsDetailStatsComponent,
        StsNumberListViewComponent,
        StsDetailInfoComponent,
        StsDetailTariffServicesComponent,
        StsDetailBillBasicListComponent,
        StsDetailUpdateFupModalComponent,
        StsDetailStatsDataComponent,
        StsDetailStatsChartComponent,
        StsStatsChartComponent,
        StsStatsDataComponent
    ],
    exports: [
        StsNumberListViewComponent,
    ],
    entryComponents: [
        StsDetailUpdateFupModalComponent
    ],
    providers: [
        DateTimePipe,
        PhonePipe
    ],
    schemas: [
        NO_ERRORS_SCHEMA
    ],
})
export class StsModule {
}
