RSS Git Download  Clone
Raw Blame History
import {NgModule, Injectable} from '@angular/core';
import {RouterModule} from '@angular/router';


import {Layout, Header, Footer} from './layout';
import {Status} from './component/cory-web-pages-build-status';
import {Page } from './page';
import {CdnService, MarkdownService} from './service';
import {  appRoutes } from './app.routes';

import { GlobalService } from "./service/global.service";

import {LocaleService, SettingsService} from './modules/web';
import {CorifeusMaterialModule} from "./modules/material/index";

import { environment } from '../environments/environment';
import {HTTP_INTERCEPTORS} from "@angular/common/http";
import {HttpRequestCounterInterceptor} from "./http-request-counter.interceptor";
import {BrowserAnimationsModule} from "@angular/platform-browser/animations";

import { Application } from "./app.component";
import {BrowserModule} from "@angular/platform-browser";
import { PreloadAllModules } from '@angular/router';

import twemoji from 'twemoji'
/***
 * NEVER USE A EXPORT * AS, NEED THE EXACT COMPONENT FOR INJECTABLE FUNCTION!!!!
 */
@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        CorifeusMaterialModule,
        RouterModule.forRoot(appRoutes, {
            preloadingStrategy: PreloadAllModules,
        }),
    ],
    entryComponents: [],
    declarations: [
        Application,
        Layout,
        Header,
        Footer,
        Page,
//        OpenCollective,
        Status
    ],
    providers: [
        GlobalService,
        {
            provide: HTTP_INTERCEPTORS,
            useClass: HttpRequestCounterInterceptor,
            multi: true
        },
        CdnService,
        MarkdownService,
    ],
    bootstrap: [
        Application,
    ]
})
export class AppModule {
    constructor(
        private loc: LocaleService,
        private settings: SettingsService,
    ) {
        twemoji.folder = 'svg';
        twemoji.ext = '.svg';

        if (environment.production) {
            twemoji.base = '/assets/twemoji/';
        }

        let settingsExtendJson = require('./json/settings.core.json');
        settings.extend('core', settingsExtendJson);
        settings.afterInit();

        const module = 'pages';

        const settingsJson = require('./json/settings.json');

        settings.register(module, settingsJson);

        loc.register(module, {
            en: require('./json/translation/english.json'),
           // hu: require('./json/translation/hungarian.json'),
        })
    }
}