import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
import { NativeScriptCommonModule } from '@nativescript/angular';
import { NgxsModule } from '@ngxs/store';
import { NativeScriptUIDataFormModule } from 'nativescript-ui-dataform/angular';
import { NativeScriptUIListViewModule } from 'nativescript-ui-listview/angular';
import { SearchPersonDetailContactsComponent } from '~/pages/search-person/components/search-person-detail-contacts/search-person-detail-contacts.component';
import { SearchPersonDetailFunctionsComponent } from '~/pages/search-person/components/search-person-detail-functions/search-person-detail-functions.component';
import { SearchPersonDetailHeaderComponent } from '~/pages/search-person/components/search-person-detail-header/search-person-detail-header.component';
import { SearchPersonDetailHealthComponent } from '~/pages/search-person/components/search-person-detail-health/search-person-detail-health.component';
import { SearchPersonDetailInfoComponent } from '~/pages/search-person/components/search-person-detail-info/search-person-detail-info.component';
import { SearchPersonDetailMembershipsComponent } from '~/pages/search-person/components/search-person-detail-memberships/search-person-detail-memberships.component';
import { SearchPersonDetailOffersComponent } from '~/pages/search-person/components/search-person-detail-offers/search-person-detail-offers.component';
import { SearchPersonDetailQualificationsComponent } from '~/pages/search-person/components/search-person-detail-qualifications/search-person-detail-qualifications.component';
import { SearchPersonListViewComponent } from '~/pages/search-person/components/search-person-list-view/search-person-list-view.component';
import { SearchPersonDetailState } from '~/pages/search-person/state-mgmt/search-person-detail.state';
import { SearchPersonListState } from '~/pages/search-person/state-mgmt/search-person-list.state';
import { SearchPersonState } from '~/pages/search-person/state-mgmt/search-person.state';
import { SharedModule } from '~/shared/shared.module';
import { SearchPersonDetailComponent } from './containers/search-person-detail/search-person-detail.component';
import { SearchPersonListComponent } from './containers/search-person-list/search-person-list.component';
import { SearchPersonComponent } from './containers/search-person/search-person.component';
import { SearchPersonRoutingModule } from './search-person-routing.module';

@NgModule({
    imports: [
        NativeScriptCommonModule,
        SearchPersonRoutingModule,
        NativeScriptUIDataFormModule,
        NativeScriptUIListViewModule,
        SharedModule,
        NgxsModule.forFeature([
            SearchPersonState,
            SearchPersonListState,
            SearchPersonDetailState
        ])
    ],
    declarations: [
        SearchPersonComponent,
        SearchPersonListComponent,
        SearchPersonDetailComponent,
        SearchPersonListViewComponent,
        SearchPersonDetailHeaderComponent,
        SearchPersonDetailContactsComponent,
        SearchPersonDetailHealthComponent,
        SearchPersonDetailFunctionsComponent,
        SearchPersonDetailMembershipsComponent,
        SearchPersonDetailOffersComponent,
        SearchPersonDetailQualificationsComponent,
        SearchPersonDetailInfoComponent
    ],
    providers: [],
    schemas: [
        NO_ERRORS_SCHEMA
    ]
})
export class SearchPersonModule {
}
