import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';

// Import du module Material optimisé
import { MaterialModule } from './material.module';

// Import des composants shared
import { LoadingSpinnerComponent } from './components/loading-spinner/loading-spinner.component';
import { PageHeaderComponent } from './components/page-header/page-header.component';
import { ActionToolbarComponent } from './components/action-toolbar/action-toolbar.component';
import { ConfirmDialogComponent } from './components/confirm-dialog/confirm-dialog.component';
import { FormDialogComponent } from './components/form-dialog/form-dialog.component';
import { FilterPanelComponent } from './components/filter-panel/filter-panel.component';

@NgModule({
  declarations: [
    LoadingSpinnerComponent,
    PageHeaderComponent,
    ActionToolbarComponent,
    ConfirmDialogComponent,
    FormDialogComponent,
    FilterPanelComponent
  ],
  imports: [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    RouterModule,
    MaterialModule
  ],
  exports: [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    RouterModule,
    MaterialModule,
    LoadingSpinnerComponent,
    PageHeaderComponent,
    ActionToolbarComponent,
    ConfirmDialogComponent,
    FormDialogComponent,
    FilterPanelComponent
  ]
})
export class SharedModule { }