import { ApplicationConfig, provideExperimentalZonelessChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { routes } from './app.routes'; import { provideHttpClient, withInterceptors } from '@angular/common/http'; import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; import { OAuthStorage, provideOAuthClient } from 'angular-oauth2-oidc'; import { httpInterceptor } from './shared/interceptor/http.interceptor'; function storageFactory() { return new class implements OAuthStorage { private data: { [key: string]: string } = {}; getItem(key: string): string | null { return this.data[key]; } removeItem(key: string): void { delete this.data[key] } setItem(key: string, data: string): void { this.data[key] = data; } } } export const appConfig: ApplicationConfig = { providers: [ provideRouter(routes), FontAwesomeModule, provideHttpClient(withInterceptors([httpInterceptor])), provideExperimentalZonelessChangeDetection(), provideAnimationsAsync(), provideOAuthClient(), { provide: OAuthStorage, useFactory: () => storageFactory(), } ], };