import { NgModule } from '@angular/core' import { BrowserAnimationsModule } from '@angular/platform-browser/animations' import { RouteReuseStrategy } from '@angular/router' import { HttpClientModule } from '@angular/common/http' import { TuiAlertModule, TuiRootModule } from '@taiga-ui/core' import { ApiService } from './services/api/api.service' import { MockApiService } from './services/api/mock-api.service' import { LiveApiService } from './services/api/live-api.service' import { IonicModule, IonicRouteStrategy, iosTransitionAnimation, } from '@ionic/angular' import { AppComponent } from './app.component' import { AppRoutingModule } from './app-routing.module' import { SuccessPageModule } from './pages/success/success.module' import { HomePageModule } from './pages/home/home.module' import { LoadingPageModule } from './pages/loading/loading.module' import { RecoverPageModule } from './pages/recover/recover.module' import { TransferPageModule } from './pages/transfer/transfer.module' import { RELATIVE_URL, WorkspaceConfig } from '@start9labs/shared' const { useMocks, ui: { api }, } = require('../../../../config.json') as WorkspaceConfig @NgModule({ declarations: [AppComponent], imports: [ BrowserAnimationsModule, IonicModule.forRoot({ mode: 'md', navAnimation: iosTransitionAnimation, }), AppRoutingModule, HttpClientModule, SuccessPageModule, HomePageModule, LoadingPageModule, RecoverPageModule, TransferPageModule, TuiRootModule, TuiAlertModule, ], providers: [ { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }, { provide: ApiService, useClass: useMocks ? MockApiService : LiveApiService, }, { provide: RELATIVE_URL, useValue: `/${api.url}/${api.version}`, }, ], bootstrap: [AppComponent], }) export class AppModule {}