import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { UserListComponent } from './user-list/user-list.component';
import { UserCreateComponent } from './user-create/user-create.component';
import { UserDetailsComponent } from './user-details/user-details.component';
import { UserEditComponent } from './user-edit/user-edit.component';
import { UsersRoutingModule } from './users-routing.module';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { ErrorHandlingModule } from '@shared/error-handling/error-handling.module';
import { UserImpersonateComponent } from './user-impersonate/user-impersonate.component';
import { UiModule } from '@shared/ui/ui.module';
import { UserEditFormComponent } from './tabs/user-edit-form/user-edit-form.component';
import { UserDetailsOverviewComponent } from './tabs/user-details-overview/user-details-overview.component';
import { UserDetailsClientsComponent } from './tabs/user-details-clients/user-details-clients.component';
import { UserDetailsGroupsComponent } from './tabs/user-details-groups/user-details-groups.component';
import {
  AddUserToGroupDialogComponent
} from './tabs/user-details-groups/add-user-to-group-dialog/add-user-to-group-dialog.component';
import { UserDetailsTicketsComponent } from './tabs/user-details-tickets/user-details-tickets.component';
import {
  AssociateClientDialogComponent
} from './tabs/user-details-clients/dialogs/associate-client-dialog/associate-client-dialog.component';
import { UserDetailsLogComponent } from './tabs/user-details-log/user-details-log.component';
import { CommonDialogsModule } from '@shared/common-dialogs/common-dialogs.module';
import { FleioDataControlsModule } from '@shared/fleio-data-controls/fleio-data-controls.module';
import { PluginsModule } from '@shared/plugins/plugins.module';
import { UserDetailsPermissionsComponent } from './tabs/user-details-permissions/user-details-permissions.component';
import { CommonComponentsModule } from '@shared/common-components/common-components.module';
import { MatTab, MatTabGroup } from '@angular/material/tabs';

@NgModule({
  declarations: [
    UserListComponent,
    UserCreateComponent,
    UserDetailsComponent,
    UserEditComponent,
    UserImpersonateComponent,
    UserEditFormComponent,
    UserDetailsOverviewComponent,
    UserDetailsClientsComponent,
    UserDetailsGroupsComponent,
    AddUserToGroupDialogComponent,
    UserDetailsTicketsComponent,
    AssociateClientDialogComponent,
    UserDetailsLogComponent,
    UserDetailsPermissionsComponent,
  ],
  imports: [
    CommonModule,
    UsersRoutingModule,
    ObjectsViewModule,
    ErrorHandlingModule,
    UiModule,
    CommonDialogsModule,
    FleioDataControlsModule,
    PluginsModule,
    CommonComponentsModule,
    MatTab,
    MatTabGroup,
  ]
})
export class UsersModule {
}
