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'; /* Example of a custom storage factory - not used in the current implementation function storageFactory() { return new (class implements OAuthStorage { private data: Record = {}; 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: () => localStorage, }, ], };