100 lines
4.3 KiB
TypeScript
100 lines
4.3 KiB
TypeScript
import { NgModule, LOCALE_ID } from '@angular/core';
|
|
import { registerLocaleData } from '@angular/common';
|
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
import locale from '@angular/common/locales/es';
|
|
import { BrowserModule, Title } from '@angular/platform-browser';
|
|
import { ServiceWorkerModule } from '@angular/service-worker';
|
|
import { FaIconLibrary } from '@fortawesome/angular-fontawesome';
|
|
import { TranslateModule, TranslateService, TranslateLoader, MissingTranslationHandler } from '@ngx-translate/core';
|
|
import { NgxWebstorageModule, SessionStorageService } from 'ngx-webstorage';
|
|
import * as dayjs from 'dayjs';
|
|
import { NgbDateAdapter, NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';
|
|
|
|
import { SERVER_API_URL } from './app.constants';
|
|
import { ApplicationConfigService } from 'app/core/config/application-config.service';
|
|
import './config/dayjs';
|
|
import { SharedModule } from 'app/shared/shared.module';
|
|
import { AppRoutingModule } from './app-routing.module';
|
|
import { HomeModule } from './home/home.module';
|
|
import { EntityRoutingModule } from './entities/entity-routing.module';
|
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
|
|
import { SocialLoginModule, SocialAuthServiceConfig } from 'angularx-social-login';
|
|
import { GoogleLoginProvider } from 'angularx-social-login';
|
|
// jhipster-needle-angular-add-module-import JHipster will add new module here
|
|
import { NgbDateDayjsAdapter } from './config/datepicker-adapter';
|
|
import { fontAwesomeIcons } from './config/font-awesome-icons';
|
|
import { httpInterceptorProviders } from 'app/core/interceptor/index';
|
|
import { translatePartialLoader, missingTranslationHandler } from './config/translation.config';
|
|
import { MainComponent } from './layouts/main/main.component';
|
|
import { NavbarComponent } from './layouts/navbar/navbar.component';
|
|
import { FooterComponent } from './layouts/footer/footer.component';
|
|
import { PageRibbonComponent } from './layouts/profiles/page-ribbon.component';
|
|
import { ErrorComponent } from './layouts/error/error.component';
|
|
import { SidebarComponent } from './layouts/sidebar/sidebar.component';
|
|
|
|
@NgModule({
|
|
imports: [
|
|
BrowserModule,
|
|
SharedModule,
|
|
HomeModule,
|
|
// jhipster-needle-angular-add-module JHipster will add new module here
|
|
EntityRoutingModule,
|
|
AppRoutingModule,
|
|
SocialLoginModule,
|
|
// Set this to true to enable service worker (PWA)
|
|
ServiceWorkerModule.register('ngsw-worker.js', { enabled: false }),
|
|
HttpClientModule,
|
|
NgxWebstorageModule.forRoot({ prefix: 'jhi', separator: '-', caseSensitive: true }),
|
|
TranslateModule.forRoot({
|
|
loader: {
|
|
provide: TranslateLoader,
|
|
useFactory: translatePartialLoader,
|
|
deps: [HttpClient],
|
|
},
|
|
missingTranslationHandler: {
|
|
provide: MissingTranslationHandler,
|
|
useFactory: missingTranslationHandler,
|
|
},
|
|
}),
|
|
],
|
|
providers: [
|
|
Title,
|
|
{ provide: LOCALE_ID, useValue: 'es' },
|
|
{ provide: NgbDateAdapter, useClass: NgbDateDayjsAdapter },
|
|
httpInterceptorProviders,
|
|
{
|
|
provide: 'SocialAuthServiceConfig',
|
|
useValue: {
|
|
autoLogin: false,
|
|
providers: [
|
|
{
|
|
id: GoogleLoginProvider.PROVIDER_ID,
|
|
provider: new GoogleLoginProvider('178178891217-b517thad8f15d4at2vk2410v7a09dcvt.apps.googleusercontent.com'),
|
|
},
|
|
],
|
|
} as SocialAuthServiceConfig,
|
|
},
|
|
],
|
|
declarations: [MainComponent, NavbarComponent, ErrorComponent, PageRibbonComponent, FooterComponent, SidebarComponent],
|
|
bootstrap: [MainComponent],
|
|
})
|
|
export class AppModule {
|
|
constructor(
|
|
applicationConfigService: ApplicationConfigService,
|
|
iconLibrary: FaIconLibrary,
|
|
dpConfig: NgbDatepickerConfig,
|
|
translateService: TranslateService,
|
|
sessionStorageService: SessionStorageService
|
|
) {
|
|
applicationConfigService.setEndpointPrefix(SERVER_API_URL);
|
|
registerLocaleData(locale);
|
|
iconLibrary.addIcons(...fontAwesomeIcons);
|
|
dpConfig.minDate = { year: dayjs().subtract(100, 'year').year(), month: 1, day: 1 };
|
|
translateService.setDefaultLang('es');
|
|
// if user have changed language and navigates away from the application and back to the application then use previously choosed language
|
|
const langKey = sessionStorageService.retrieve('locale') ?? 'es';
|
|
translateService.use(langKey);
|
|
}
|
|
}
|