import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { RawEditorComponent } from "./pages/raw-editor/raw-editor.component";
import { CodeEditorComponent } from './components/code-editor/code-editor.component';
import { ConfigComponent } from './pages/config/config.component';
import { FormsModule } from "@angular/forms";
import { Server } from "./server";
import { PegjsService } from "./services/pegjs.service";
import { QuestsComponent } from './pages/config/quests/quests.component';
import { GridComponent } from './pages/config/grid/grid.component';
import { NumberComponent } from './components/form/number/number.component';
import { TextComponent } from './components/form/text/text.component';
import { PasswordComponent } from './components/form/password/password.component';
import { DbsComponent } from './pages/config/dbs/dbs.component';
import { CheckboxComponent } from './components/form/checkbox/checkbox.component';
import { ServersComponent } from './pages/config/servers/servers.component';
import { ServerComponent } from './pages/config/servers/server/server.component';
import { TemplateComponent } from './pages/config/servers/template/template.component';
import { SelectListComponent } from './components/form/select-list/select-list.component';
import { SelectObjectComponent } from './components/form/select-object/select-object.component';
import { IslandInstanceComponent } from './pages/config/servers/island-instance/island-instance.component';
import { LeafletModule } from "@asymmetrik/ngx-leaflet";
import { MapComponent } from './pages/config/map/map.component';
import { DiscoveryZoneComponent } from './pages/config/servers/discovery-zone/discovery-zone.component';

@NgModule({
  declarations: [
    AppComponent,
    RawEditorComponent,
    CodeEditorComponent,
    ConfigComponent,
    QuestsComponent,
    GridComponent,
    NumberComponent,
    TextComponent,
    PasswordComponent,
    DbsComponent,
    CheckboxComponent,
    ServersComponent,
    ServerComponent,
    TemplateComponent,
    SelectListComponent,
    SelectObjectComponent,
    IslandInstanceComponent,
    MapComponent,
    DiscoveryZoneComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    NgbModule,
    FormsModule,
    LeafletModule.forRoot()
  ],
  providers: [Server, PegjsService],
  bootstrap: [AppComponent]
})
export class AppModule {
}
