import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ProjectCreateComponent } from './project-create/project-create.component';
import { ProjectEditComponent } from './project-edit/project-edit.component';
import { ProjectListComponent } from './project-list/project-list.component';
import { ProjectEditFormComponent } from './tabs/project-edit-form/project-edit-form.component';
import { ProjectsRoutingModule } from './projects-routing.module';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { ReactiveFormsModule } from '@angular/forms';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { ErrorHandlingModule } from '@shared/error-handling/error-handling.module';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { UiModule } from '@shared/ui/ui.module';
import { ProjectEditQuotasComponent } from './project-edit-quotas/project-edit-quotas.component';
import {
  ProjectComputeQuotasEditFormComponent
} from './tabs/project-compute-quotas-edit-form/project-compute-quotas-edit-form.component';
import {
  ProjectVolumeQuotasEditFormComponent
} from './tabs/project-volume-quotas-edit-form/project-volume-quotas-edit-form.component';
import {
  ProjectNetworkQuotasEditFormComponent
} from './tabs/project-network-quotas-edit-form/project-network-quotas-edit-form.component';
import { MatSelectModule } from '@angular/material/select';
import { ProjectSelectRegionComponent } from './components/project-select-region/project-select-region.component';
import {
  ProjectDatabaseQuotasEditFormComponent
} from './tabs/project-trove-quotas-edit-form/project-database-quotas-edit-form.component';
import { MatButtonModule } from '@angular/material/button';
import { ProjectDetailsComponent } from './project-details/project-details.component';
import { ProjectDetailsOverviewComponent } from './tabs/project-details-overview/project-details-overview.component';
import { ProjectClusterQuotasEditFormComponent } from './tabs/project-cluster-quotas-edit-form/project-cluster-quotas-edit-form.component';
import { ProjectRoleAssignmentsComponent } from './tabs/project-role-assignments/project-role-assignments.component';
import { FleioDataControlsModule } from '@shared/fleio-data-controls/fleio-data-controls.module';


@NgModule({
  declarations: [
    ProjectCreateComponent,
    ProjectEditComponent,
    ProjectListComponent,
    ProjectEditFormComponent,
    ProjectEditQuotasComponent,
    ProjectComputeQuotasEditFormComponent,
    ProjectVolumeQuotasEditFormComponent,
    ProjectNetworkQuotasEditFormComponent,
    ProjectSelectRegionComponent,
    ProjectDatabaseQuotasEditFormComponent,
    ProjectDetailsComponent,
    ProjectDetailsOverviewComponent,
    ProjectClusterQuotasEditFormComponent,
    ProjectRoleAssignmentsComponent,
  ],
    imports: [
        CommonModule,
        ProjectsRoutingModule,
        ObjectsViewModule,
        ReactiveFormsModule,
        MatCheckboxModule,
        ErrorHandlingModule,
        MatFormFieldModule,
        MatInputModule,
        UiModule,
        MatSelectModule,
        MatButtonModule,
        FleioDataControlsModule,
    ]
})
export class ProjectsModule {
}
