mempool/frontend/src/app/app.module.ts

210 lines
9.9 KiB
TypeScript
Raw Normal View History

import { BrowserModule, BrowserTransferStateModule } from '@angular/platform-browser';
2019-07-21 17:59:47 +03:00
import { NgModule } from '@angular/core';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
2021-08-16 18:11:34 -03:00
import { NgxEchartsModule } from 'ngx-echarts';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './components/app/app.component';
import { StartComponent } from './components/start/start.component';
import { ElectrsApiService } from './services/electrs-api.service';
import { TransactionComponent } from './components/transaction/transaction.component';
import { TransactionsListComponent } from './components/transactions-list/transactions-list.component';
import { AmountComponent } from './components/amount/amount.component';
import { StateService } from './services/state.service';
import { BlockComponent } from './components/block/block.component';
import { AddressComponent } from './components/address/address.component';
import { SearchFormComponent } from './components/search-form/search-form.component';
import { LatestBlocksComponent } from './components/latest-blocks/latest-blocks.component';
import { WebsocketService } from './services/websocket.service';
import { AddressLabelsComponent } from './components/address-labels/address-labels.component';
import { MempoolBlocksComponent } from './components/mempool-blocks/mempool-blocks.component';
import { MasterPageComponent } from './components/master-page/master-page.component';
import { BisqMasterPageComponent } from './components/bisq-master-page/bisq-master-page.component';
import { LiquidMasterPageComponent } from './components/liquid-master-page/liquid-master-page.component';
import { AboutComponent } from './components/about/about.component';
import { TelevisionComponent } from './components/television/television.component';
import { StatisticsComponent } from './components/statistics/statistics.component';
import { BlockchainBlocksComponent } from './components/blockchain-blocks/blockchain-blocks.component';
import { BlockchainComponent } from './components/blockchain/blockchain.component';
2020-02-17 20:39:20 +07:00
import { FooterComponent } from './components/footer/footer.component';
import { AudioService } from './services/audio.service';
import { MempoolBlockComponent } from './components/mempool-block/mempool-block.component';
import { FeeDistributionGraphComponent } from './components/fee-distribution-graph/fee-distribution-graph.component';
import { IncomingTransactionsGraphComponent } from './components/incoming-transactions-graph/incoming-transactions-graph.component';
import { TimeSpanComponent } from './components/time-span/time-span.component';
2020-03-24 00:52:08 +07:00
import { SeoService } from './services/seo.service';
2020-03-29 23:59:04 +07:00
import { MempoolGraphComponent } from './components/mempool-graph/mempool-graph.component';
import { PoolRankingComponent } from './components/pool-ranking/pool-ranking.component';
2022-02-08 18:56:51 +09:00
import { PoolComponent } from './components/pool/pool.component';
import { LbtcPegsGraphComponent } from './components/lbtc-pegs-graph/lbtc-pegs-graph.component';
2020-04-28 17:10:31 +07:00
import { AssetComponent } from './components/asset/asset.component';
2022-02-06 01:20:26 +04:00
import { AssetsComponent } from './components/assets/assets.component';
import { AssetsNavComponent } from './components/assets/assets-nav/assets-nav.component';
2020-07-02 17:56:15 +07:00
import { StatusViewComponent } from './components/status-view/status-view.component';
import { MinerComponent } from './components/miner/miner.component';
import { SharedModule } from './shared/shared.module';
2020-07-24 22:37:35 +07:00
import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
import { FeesBoxComponent } from './components/fees-box/fees-box.component';
import { DashboardComponent } from './dashboard/dashboard.component';
import { DifficultyComponent } from './components/difficulty/difficulty.component';
import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';
import { faFilter, faAngleDown, faAngleUp, faAngleRight, faAngleLeft, faBolt, faChartArea, faCogs, faCubes, faHammer, faDatabase, faExchangeAlt, faInfoCircle,
2021-12-16 18:24:26 -05:00
faLink, faList, faSearch, faCaretUp, faCaretDown, faTachometerAlt, faThList, faTint, faTv, faAngleDoubleDown, faSortUp, faAngleDoubleUp, faChevronDown, faFileAlt, faRedoAlt, faArrowAltCircleRight, faExternalLinkAlt, faBook, faListUl } from '@fortawesome/free-solid-svg-icons';
import { ApiDocsComponent } from './components/docs/api-docs.component';
import { DocsComponent } from './components/docs/docs.component';
import { ApiDocsNavComponent } from './components/docs/api-docs-nav.component';
import { CodeTemplateComponent } from './components/docs/code-template.component';
2020-10-11 19:23:52 +09:00
import { TermsOfServiceComponent } from './components/terms-of-service/terms-of-service.component';
import { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component';
import { TrademarkPolicyComponent } from './components/trademark-policy/trademark-policy.component';
import { StorageService } from './services/storage.service';
import { HttpCacheInterceptor } from './services/http-cache.interceptor';
import { LanguageService } from './services/language.service';
2021-05-18 13:23:39 +04:00
import { SponsorComponent } from './components/sponsor/sponsor.component';
2021-10-19 15:37:45 +04:00
import { PushTransactionComponent } from './components/push-transaction/push-transaction.component';
2021-12-16 18:24:26 -05:00
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
2022-02-06 01:20:26 +04:00
import { AssetsFeaturedComponent } from './components/assets/assets-featured/assets-featured.component';
import { AssetGroupComponent } from './components/assets/asset-group/asset-group.component';
2022-02-13 00:46:42 +04:00
import { AssetCirculationComponent } from './components/asset-circulation/asset-circulation.component';
import { MiningDashboardComponent } from './components/mining-dashboard/mining-dashboard.component';
import { HashrateChartComponent } from './components/hashrate-chart/hashrate-chart.component';
import { HashrateChartPoolsComponent } from './components/hashrates-chart-pools/hashrate-chart-pools.component';
import { MiningStartComponent } from './components/mining-start/mining-start.component';
import { AmountShortenerPipe } from './shared/pipes/amount-shortener.pipe';
import { ShortenStringPipe } from './shared/pipes/shorten-string-pipe/shorten-string.pipe';
import { GraphsComponent } from './components/graphs/graphs.component';
import { DifficultyAdjustmentsTable } from './components/difficulty-adjustments-table/difficulty-adjustments-table.components';
import { BlocksList } from './components/blocks-list/blocks-list.component';
import { RewardStatsComponent } from './components/reward-stats/reward-stats.component';
2022-03-19 22:14:37 -07:00
import { DataCyDirective } from './data-cy.directive';
2019-07-21 17:59:47 +03:00
@NgModule({
declarations: [
AppComponent,
AboutComponent,
MasterPageComponent,
BisqMasterPageComponent,
LiquidMasterPageComponent,
2019-07-27 18:43:17 +03:00
TelevisionComponent,
BlockchainComponent,
StartComponent,
BlockchainBlocksComponent,
StatisticsComponent,
TransactionComponent,
BlockComponent,
TransactionsListComponent,
AddressComponent,
AmountComponent,
LatestBlocksComponent,
SearchFormComponent,
TimeSpanComponent,
AddressLabelsComponent,
MempoolBlocksComponent,
2020-02-17 20:39:20 +07:00
FooterComponent,
MempoolBlockComponent,
FeeDistributionGraphComponent,
IncomingTransactionsGraphComponent,
2020-03-29 23:59:04 +07:00
MempoolGraphComponent,
PoolRankingComponent,
2022-02-08 18:56:51 +09:00
PoolComponent,
LbtcPegsGraphComponent,
2020-04-28 17:10:31 +07:00
AssetComponent,
AssetsComponent,
MinerComponent,
2020-07-02 17:56:15 +07:00
StatusViewComponent,
FeesBoxComponent,
DashboardComponent,
DifficultyComponent,
2020-10-07 23:24:01 +07:00
ApiDocsComponent,
CodeTemplateComponent,
2020-10-11 19:23:52 +09:00
TermsOfServiceComponent,
PrivacyPolicyComponent,
TrademarkPolicyComponent,
2021-05-18 13:23:39 +04:00
SponsorComponent,
2021-10-19 15:37:45 +04:00
PushTransactionComponent,
DocsComponent,
ApiDocsNavComponent,
2022-02-06 01:20:26 +04:00
AssetsNavComponent,
AssetsFeaturedComponent,
AssetGroupComponent,
2022-02-13 00:46:42 +04:00
AssetCirculationComponent,
MiningDashboardComponent,
HashrateChartComponent,
HashrateChartPoolsComponent,
MiningStartComponent,
AmountShortenerPipe,
GraphsComponent,
DifficultyAdjustmentsTable,
BlocksList,
2022-03-19 22:14:37 -07:00
DataCyDirective,
RewardStatsComponent,
2019-07-21 17:59:47 +03:00
],
imports: [
2020-11-07 04:30:52 +07:00
BrowserModule.withServerTransition({ appId: 'serverApp' }),
BrowserTransferStateModule,
2019-07-21 17:59:47 +03:00
AppRoutingModule,
HttpClientModule,
BrowserAnimationsModule,
InfiniteScrollModule,
2020-07-24 22:37:35 +07:00
NgbTypeaheadModule,
2021-12-16 18:24:26 -05:00
NgbModule,
FontAwesomeModule,
SharedModule,
2021-08-16 18:11:34 -03:00
NgxEchartsModule.forRoot({
echarts: () => import('echarts')
})
2019-07-21 17:59:47 +03:00
],
providers: [
ElectrsApiService,
StateService,
WebsocketService,
AudioService,
2020-03-24 00:52:08 +07:00
SeoService,
StorageService,
LanguageService,
ShortenStringPipe,
{ provide: HTTP_INTERCEPTORS, useClass: HttpCacheInterceptor, multi: true }
2019-07-21 17:59:47 +03:00
],
bootstrap: [AppComponent]
})
export class AppModule {
constructor(library: FaIconLibrary) {
library.addIcons(faInfoCircle);
library.addIcons(faChartArea);
library.addIcons(faTv);
2020-09-26 22:46:26 +07:00
library.addIcons(faTachometerAlt);
library.addIcons(faCubes);
library.addIcons(faHammer);
2020-10-07 23:24:01 +07:00
library.addIcons(faCogs);
library.addIcons(faThList);
library.addIcons(faList);
library.addIcons(faTachometerAlt);
library.addIcons(faDatabase);
2020-09-22 06:55:45 +07:00
library.addIcons(faSearch);
2020-10-26 18:29:25 +07:00
library.addIcons(faLink);
library.addIcons(faBolt);
2020-10-27 15:26:37 +07:00
library.addIcons(faTint);
library.addIcons(faFilter);
library.addIcons(faAngleDown);
library.addIcons(faAngleUp);
library.addIcons(faExchangeAlt);
library.addIcons(faAngleDoubleUp);
library.addIcons(faAngleDoubleDown);
library.addIcons(faChevronDown);
2021-05-12 15:57:46 +04:00
library.addIcons(faFileAlt);
library.addIcons(faRedoAlt);
library.addIcons(faArrowAltCircleRight);
library.addIcons(faExternalLinkAlt);
library.addIcons(faSortUp);
library.addIcons(faCaretUp);
library.addIcons(faCaretDown);
library.addIcons(faAngleRight);
library.addIcons(faAngleLeft);
library.addIcons(faBook);
2021-12-16 18:24:26 -05:00
library.addIcons(faListUl);
}
}