import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { InvoiceListComponent } from './invoice-list/invoice-list.component';
import { InvoiceDetailsComponent } from './invoice-details/invoice-details.component';
import { InvoicesRoutingModule } from './invoices-routing.module';
import { ObjectsViewModule } from '@objects-view/objects-view.module';
import { MatIconModule } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
import { MatDividerModule } from '@angular/material/divider';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ErrorHandlingModule } from '@shared/error-handling/error-handling.module';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { MatSelectModule } from '@angular/material/select';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatTableModule } from '@angular/material/table';
import { InvoiceAddPaymentComponent } from './components/invoice-add-payment/invoice-add-payment.component';
import { PayMultipleInvoicesComponent } from './pay-multiple-invoices/pay-multiple-invoices.component';
import { PayMultipleInvoicesFormComponent } from './tabs/pay-multiple-invoices-form/pay-multiple-invoices-form.component';
import { UiModule } from '@shared/ui/ui.module';

@NgModule({
    declarations: [
        InvoiceListComponent,
        InvoiceDetailsComponent,
        InvoiceAddPaymentComponent,
        PayMultipleInvoicesComponent,
        PayMultipleInvoicesFormComponent,
    ],
    imports: [
        CommonModule,
        InvoicesRoutingModule,
        ObjectsViewModule,
        MatIconModule,
        MatButtonModule,
        MatDividerModule,
        ReactiveFormsModule,
        ErrorHandlingModule,
        MatFormFieldModule,
        MatInputModule,
        MatAutocompleteModule,
        MatSelectModule,
        MatDatepickerModule,
        MatCheckboxModule,
        MatTableModule,
        FormsModule,
        UiModule,
    ]
})
export class InvoicesModule { }
