import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { FormsModule } from '@angular/forms';
import { CdkTableModule } from '@angular/cdk/table';
import { DragDropModule } from '@angular/cdk/drag-drop';
import { NgxSmartModalModule } from 'ngx-smart-modal';

import { TabbarComponent } from './journal-home/tabbar/tabbar.component';
import { OffcanvasComponent } from './journal-home/offcanvas/offcanvas.component';
import { JournalRoutingModule } from './journal-routing.module';
import { JournalHomeComponent } from './journal-home/journal-home.component';
import { JournalStatsComponent } from './journal-stats/journal-stats.component';
import { JournalInventoryComponent } from './journal-inventory/journal-inventory.component';
import { JournalSpellbookComponent } from './journal-spellbook/journal-spellbook.component';
import { JournalSpellcardsComponent } from './journal-spellcards/journal-spellcards.component';
import { JournalCharacterComponent } from './journal-character/journal-character.component';
import { InfopanelComponent } from './journal-home/infopanel/infopanel.component';
import { AttributeFieldComponent } from './journal-stats/attribute-skill-container/attribute-field/attribute-field.component';
import { SkillFieldComponent } from './journal-stats/attribute-skill-container/skill-field/skill-field.component';
import { AttributeSkillContainerComponent } from './journal-stats/attribute-skill-container/attribute-skill-container.component';
import { LifeContainerComponent } from './journal-stats/life-container/life-container.component';
import { WeaponsContainerComponent } from './journal-stats/weapons-container/weapons-container.component';
import { ArmorClassComponent } from './journal-stats/life-container/armor-class/armor-class.component';
import { MovementComponent } from './journal-stats/life-container/movement/movement.component';
import { HitDiceComponent } from './journal-stats/life-container/hit-dice/hit-dice.component';
import { InitiativeComponent } from './journal-stats/life-container/initiative/initiative.component';
import { ProficiencyComponent } from './journal-stats/life-container/proficiency/proficiency.component';
import { ExhaustionComponent } from './journal-stats/life-container/exhaustion/exhaustion.component';
import { DeathSaveComponent } from './journal-stats/life-container/death-save/death-save.component';
import { LifeComponent } from './journal-stats/life-container/life/life.component';
import { IconComponent } from './icon/icon.component';
import { WeaponRowComponent } from './journal-stats/weapons-container/weapon-row/weapon-row.component';

@NgModule({
  declarations: [
    JournalHomeComponent,
    JournalStatsComponent,
    JournalInventoryComponent,
    JournalSpellbookComponent,
    JournalSpellcardsComponent,
    JournalCharacterComponent,
    TabbarComponent,
    OffcanvasComponent,
    InfopanelComponent,
    AttributeFieldComponent,
    SkillFieldComponent,
    AttributeSkillContainerComponent,
    LifeContainerComponent,
    WeaponsContainerComponent,
    ArmorClassComponent,
    MovementComponent,
    HitDiceComponent,
    InitiativeComponent,
    ProficiencyComponent,
    ExhaustionComponent,
    DeathSaveComponent,
    LifeComponent,
    IconComponent,
    WeaponRowComponent,
  ],
  imports: [
    CommonModule,
    JournalRoutingModule,
    NgbModule,
    FormsModule,
    CdkTableModule,
    DragDropModule,
    NgxSmartModalModule.forChild(),
  ],
})
export class JournalModule {}
