44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
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<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: () => localStorage,
|
|
},
|
|
],
|
|
};
|