import { HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { RouterModule, } from '@angular/router'; import { BrowserAnimationsModule, } from '@angular/platform-browser/animations'; import { MarkdownModule, } from 'ngx-markdown'; import './../../../svgs-used'; import { AppComponent } from './app.component'; import { rootRouterConfig } from './app.routes'; import { AngularComponentsModule, AttributeDirectivesModule, CssStylesModule, ExampleImageEditorPageModule, HelperServicesModule, IconsModule, } from './../pages/index'; import { HeaderModule, } from './../molecules/index'; import { StoreModule } from '@ngrx/store'; import { NgrxFormsModule } from 'ngrx-forms'; export function getStripe() { return (window as any).Stripe('pk_live_o1egYds0rWu43ln7FjEyOU5E'); } @NgModule({ bootstrap: [AppComponent], declarations: [ AppComponent, ], exports: [ AppComponent, ], imports: [ AngularComponentsModule, AttributeDirectivesModule, BrowserModule, BrowserAnimationsModule, CssStylesModule, ExampleImageEditorPageModule, HeaderModule, HelperServicesModule, HttpClientModule, IconsModule, MarkdownModule.forRoot(), NgrxFormsModule, StoreModule.forRoot({}), RouterModule.forRoot(rootRouterConfig, { useHash: true }), ], providers: [ { provide: 'window', useValue: window, }, { provide: 'Stripe', useFactory: getStripe, }, ], }) export class AppModule { }