import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection, isDevMode } from '@angular/core'; import { provideRouter, withInMemoryScrolling } from '@angular/router'; import { provideHttpClient, withInterceptors } from '@angular/common/http'; import { routes } from './app.routes'; import { cacheInterceptor } from './interceptors/cache.interceptor'; import { apiBaseUrlInterceptor } from './interceptors/api-base-url.interceptor'; import { apiHeadersInterceptor } from './interceptors/api-headers.interceptor'; import { mockDataInterceptor } from './interceptors/mock-data.interceptor'; import { adminAuthHeadersInterceptor } from './core/admin-auth/admin-auth-headers.interceptor'; import { Ed25519VerificationService } from './core/admin-auth/ed25519-verification.model'; import { NoopEd25519VerificationService } from './core/admin-auth/noop-ed25519-verification.service'; import { provideServiceWorker } from '@angular/service-worker'; import { MediaRepository } from './core/media/media-repository'; import { MockMediaRepository } from './core/media/mock-media-repository.service'; export const appConfig: ApplicationConfig = { providers: [ provideBrowserGlobalErrorListeners(), provideZoneChangeDetection({ eventCoalescing: true }), provideRouter( routes, withInMemoryScrolling({ scrollPositionRestoration: 'top' }) ), provideHttpClient( withInterceptors([mockDataInterceptor, apiBaseUrlInterceptor, apiHeadersInterceptor, adminAuthHeadersInterceptor, cacheInterceptor]) ), { provide: Ed25519VerificationService, useClass: NoopEd25519VerificationService }, { provide: MediaRepository, useClass: MockMediaRepository }, provideServiceWorker('ngsw-worker.js', { enabled: !isDevMode(), registrationStrategy: 'registerWhenStable:30000' }) ] };