Optimizes Imports
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import { NgModule } from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import {CommonModule} from '@angular/common';
|
||||||
import { RouterModule, Routes } from '@angular/router';
|
import {RouterModule, Routes} from '@angular/router';
|
||||||
import { CallbackComponent } from './header/header-popup/callback/callback.component';
|
import {CallbackComponent} from './header/header-popup/callback/callback.component';
|
||||||
|
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { NgModule } from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import {CommonModule} from '@angular/common';
|
||||||
import { environment } from 'src/environments/environment';
|
import {environment} from 'src/environments/environment';
|
||||||
import { ServiceWorkerModule } from '@angular/service-worker';
|
import {ServiceWorkerModule} from '@angular/service-worker';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [],
|
declarations: [],
|
||||||
|
|||||||
@@ -1,15 +1,9 @@
|
|||||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
import { AuthService } from './shared/service/auth.service';
|
import {AuthService} from './shared/service/auth.service';
|
||||||
import { UpdateService } from './shared/service-worker/update.service';
|
import {UpdateService} from './shared/service-worker/update.service';
|
||||||
import {
|
import {NgcCookieConsentService, NgcStatusChangeEvent,} from 'ngx-cookieconsent';
|
||||||
NgcCookieConsentService,
|
import {Subscription} from 'rxjs';
|
||||||
NgcInitializationErrorEvent,
|
import {CookieConsertService} from './shared/cookie-consent/cookie-consert.service';
|
||||||
NgcInitializingEvent,
|
|
||||||
NgcNoCookieLawEvent,
|
|
||||||
NgcStatusChangeEvent,
|
|
||||||
} from 'ngx-cookieconsent';
|
|
||||||
import { Subscription } from 'rxjs';
|
|
||||||
import { CookieConsertService } from './shared/cookie-consent/cookie-consert.service';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
import { NgModule } from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
import {BrowserModule} from '@angular/platform-browser';
|
||||||
|
|
||||||
import { AppComponent } from './app.component';
|
import {AppComponent} from './app.component';
|
||||||
import { HeaderModule } from './header/header.module';
|
import {HeaderModule} from './header/header.module';
|
||||||
import { SharedModule } from './shared/shared.module';
|
import {SharedModule} from './shared/shared.module';
|
||||||
import { AppRouterModule } from './app-router.module';
|
import {AppRouterModule} from './app-router.module';
|
||||||
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';
|
||||||
import { AppServiceWorkerModule } from './app-service-worker.module';
|
import {AppServiceWorkerModule} from './app-service-worker.module';
|
||||||
import { ServiceWorkerModule } from '@angular/service-worker';
|
import {ServiceWorkerModule} from '@angular/service-worker';
|
||||||
import { environment } from '../environments/environment';
|
import {environment} from '../environments/environment';
|
||||||
import { FooterComponent } from './footer/footer.component';
|
import {FooterComponent} from './footer/footer.component';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [AppComponent, FooterComponent],
|
declarations: [AppComponent, FooterComponent],
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
import { Component } from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
import {
|
import {faGithub, faLinkedinIn, faTwitter,} from '@fortawesome/free-brands-svg-icons';
|
||||||
faGithub,
|
|
||||||
faLinkedinIn,
|
|
||||||
faTwitter,
|
|
||||||
} from '@fortawesome/free-brands-svg-icons';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-footer',
|
selector: 'app-footer',
|
||||||
|
|||||||
@@ -1,27 +1,9 @@
|
|||||||
import {
|
import {animate, state, style, transition, trigger,} from '@angular/animations';
|
||||||
animate,
|
import {Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewContainerRef,} from '@angular/core';
|
||||||
state,
|
import {faQuestionCircle, faSignIn, faSignOutAlt, faUser,} from '@fortawesome/free-solid-svg-icons';
|
||||||
style,
|
import {Subscription} from 'rxjs';
|
||||||
transition,
|
import {AuthService} from 'src/app/shared/service/auth.service';
|
||||||
trigger,
|
import {User} from '../../shared/model/user/user.model';
|
||||||
} from '@angular/animations';
|
|
||||||
import {
|
|
||||||
Component,
|
|
||||||
EventEmitter,
|
|
||||||
Input,
|
|
||||||
OnDestroy,
|
|
||||||
OnInit,
|
|
||||||
Output,
|
|
||||||
ViewContainerRef,
|
|
||||||
} from '@angular/core';
|
|
||||||
import {
|
|
||||||
faQuestionCircle, faSignIn,
|
|
||||||
faSignOutAlt,
|
|
||||||
faUser,
|
|
||||||
} from '@fortawesome/free-solid-svg-icons';
|
|
||||||
import { Subscription } from 'rxjs';
|
|
||||||
import { AuthService } from 'src/app/shared/service/auth.service';
|
|
||||||
import { User } from '../../shared/model/user/user.model';
|
|
||||||
import {IconDefinition} from "@fortawesome/free-regular-svg-icons";
|
import {IconDefinition} from "@fortawesome/free-regular-svg-icons";
|
||||||
import {Value} from "@sinclair/typebox/value";
|
import {Value} from "@sinclair/typebox/value";
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import {ActivatedRoute, Router} from '@angular/router';
|
||||||
import { Component, OnInit } from '@angular/core';
|
import {Component, OnInit} from '@angular/core';
|
||||||
import { AuthService } from 'src/app/shared/service/auth.service';
|
import {AuthService} from 'src/app/shared/service/auth.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-callback',
|
selector: 'app-callback',
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Component, Input } from '@angular/core';
|
import {Component, Input} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-error-box',
|
selector: 'app-error-box',
|
||||||
@@ -7,7 +7,7 @@ import { Component, Input } from '@angular/core';
|
|||||||
})
|
})
|
||||||
export class ErrorBoxComponent {
|
export class ErrorBoxComponent {
|
||||||
@Input()
|
@Input()
|
||||||
errorMessage: string | null = 'Error, please try again later.';
|
errorMessage: string | null = 'Error, please try again later.';
|
||||||
|
|
||||||
constructor() {}
|
constructor() {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
import {Component, EventEmitter, Input, Output} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-help',
|
selector: 'app-help',
|
||||||
@@ -7,13 +7,13 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|||||||
})
|
})
|
||||||
export class HelpComponent {
|
export class HelpComponent {
|
||||||
@Input()
|
@Input()
|
||||||
state: boolean = false;
|
state: boolean = false;
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
ignoreClickOutside!: HTMLDivElement[];
|
ignoreClickOutside!: HTMLDivElement[];
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
stateChange = new EventEmitter<boolean>();
|
stateChange = new EventEmitter<boolean>();
|
||||||
|
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
|
||||||
|
|||||||
@@ -8,31 +8,19 @@ import {
|
|||||||
OnInit,
|
OnInit,
|
||||||
Output,
|
Output,
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
import {FormControl, FormGroup, Validators} from '@angular/forms';
|
||||||
import { MatIconRegistry } from '@angular/material/icon';
|
import {MatIconRegistry} from '@angular/material/icon';
|
||||||
import { DomSanitizer } from '@angular/platform-browser';
|
import {DomSanitizer} from '@angular/platform-browser';
|
||||||
import { faLock, faUser } from '@fortawesome/free-solid-svg-icons';
|
import {faLock, faUser} from '@fortawesome/free-solid-svg-icons';
|
||||||
import { Subscription } from 'rxjs';
|
import {Subscription} from 'rxjs';
|
||||||
import { AuthService } from 'src/app/shared/service/auth.service';
|
import {AuthService} from 'src/app/shared/service/auth.service';
|
||||||
import { Value } from '@sinclair/typebox/value'
|
import {Value} from '@sinclair/typebox/value'
|
||||||
import { User } from 'src/app/shared/model/user/user.model';
|
import {User} from 'src/app/shared/model/user/user.model';
|
||||||
import {
|
import {animate, animateChild, group, query, state, style, transition, trigger,} from '@angular/animations';
|
||||||
animate,
|
import {ValidatePasswordValidator} from '../../../shared/validators/validate-password.validator';
|
||||||
animateChild,
|
import {ValidateNotEmptyValidator} from '../../../shared/validators/validate-not-empty.validator';
|
||||||
group,
|
import {NgcCookieConsentService,} from 'ngx-cookieconsent';
|
||||||
query,
|
import {CookieConsertService} from '../../../shared/cookie-consent/cookie-consert.service';
|
||||||
state,
|
|
||||||
style,
|
|
||||||
transition,
|
|
||||||
trigger,
|
|
||||||
} from '@angular/animations';
|
|
||||||
import { ValidatePasswordValidator } from '../../../shared/validators/validate-password.validator';
|
|
||||||
import { ValidateNotEmptyValidator } from '../../../shared/validators/validate-not-empty.validator';
|
|
||||||
import {
|
|
||||||
NgcCookieConsentService,
|
|
||||||
NgcStatusChangeEvent,
|
|
||||||
} from 'ngx-cookieconsent';
|
|
||||||
import { CookieConsertService } from '../../../shared/cookie-consent/cookie-consert.service';
|
|
||||||
import {HttpError} from "../../../shared/model/httpError/httpError.model";
|
import {HttpError} from "../../../shared/model/httpError/httpError.model";
|
||||||
|
|
||||||
const GOOGLE_LOGO_SVG = 'assets/img/providers/google.svg';
|
const GOOGLE_LOGO_SVG = 'assets/img/providers/google.svg';
|
||||||
|
|||||||
@@ -1,26 +1,11 @@
|
|||||||
import {
|
import {Component, EventEmitter, Input, OnInit, Output,} from '@angular/core';
|
||||||
Component,
|
import {AuthService} from '../../../shared/service/auth.service';
|
||||||
EventEmitter,
|
import {User} from '../../../shared/model/user/user.model';
|
||||||
Input,
|
import {animate, animateChild, group, query, state, style, transition, trigger,} from '@angular/animations';
|
||||||
OnInit,
|
import {FormControl, FormGroup, Validators} from '@angular/forms';
|
||||||
Output,
|
import {ValidateNotEmptyValidator} from '../../../shared/validators/validate-not-empty.validator';
|
||||||
} from '@angular/core';
|
import {ValidatePasswordValidator} from '../../../shared/validators/validate-password.validator';
|
||||||
import { AuthService } from '../../../shared/service/auth.service';
|
import {faFileUpload} from '@fortawesome/free-solid-svg-icons';
|
||||||
import { User } from '../../../shared/model/user/user.model';
|
|
||||||
import {
|
|
||||||
animate,
|
|
||||||
animateChild,
|
|
||||||
group,
|
|
||||||
query,
|
|
||||||
state,
|
|
||||||
style,
|
|
||||||
transition,
|
|
||||||
trigger,
|
|
||||||
} from '@angular/animations';
|
|
||||||
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
||||||
import { ValidateNotEmptyValidator } from '../../../shared/validators/validate-not-empty.validator';
|
|
||||||
import { ValidatePasswordValidator } from '../../../shared/validators/validate-password.validator';
|
|
||||||
import { faFileUpload } from '@fortawesome/free-solid-svg-icons';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-my-profile',
|
selector: 'app-my-profile',
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Component, EventEmitter, Output } from '@angular/core';
|
import {Component, EventEmitter, Output} from '@angular/core';
|
||||||
import { AuthService } from '../../../../shared/service/auth.service';
|
import {AuthService} from '../../../../shared/service/auth.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-profile-picture-picker',
|
selector: 'app-profile-picture-picker',
|
||||||
|
|||||||
@@ -1,30 +1,16 @@
|
|||||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
|
||||||
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
import {FormControl, FormGroup, Validators} from '@angular/forms';
|
||||||
import { MatIconRegistry } from '@angular/material/icon';
|
import {MatIconRegistry} from '@angular/material/icon';
|
||||||
import { DomSanitizer } from '@angular/platform-browser';
|
import {DomSanitizer} from '@angular/platform-browser';
|
||||||
import {
|
import {faEnvelope, faFingerprint, faLock, faUser,} from '@fortawesome/free-solid-svg-icons';
|
||||||
faEnvelope,
|
import {Subscription} from 'rxjs';
|
||||||
faFingerprint,
|
import {AuthService} from 'src/app/shared/service/auth.service';
|
||||||
faLock,
|
import {HttpError} from 'src/app/shared/model/httpError/httpError.model';
|
||||||
faUser,
|
import {User} from 'src/app/shared/model/user/user.model';
|
||||||
} from '@fortawesome/free-solid-svg-icons';
|
import {animate, animateChild, group, query, state, style, transition, trigger,} from '@angular/animations';
|
||||||
import { Subscription } from 'rxjs';
|
import {ValidateEmailValidator} from '../../../shared/validators/validate-email.validator';
|
||||||
import { AuthService } from 'src/app/shared/service/auth.service';
|
import {ValidatePasswordValidator} from '../../../shared/validators/validate-password.validator';
|
||||||
import { HttpError } from 'src/app/shared/model/httpError/httpError.model';
|
import {ValidateNotEmptyValidator} from '../../../shared/validators/validate-not-empty.validator';
|
||||||
import { User } from 'src/app/shared/model/user/user.model';
|
|
||||||
import {
|
|
||||||
animate,
|
|
||||||
animateChild,
|
|
||||||
group,
|
|
||||||
query,
|
|
||||||
state,
|
|
||||||
style,
|
|
||||||
transition,
|
|
||||||
trigger,
|
|
||||||
} from '@angular/animations';
|
|
||||||
import { ValidateEmailValidator } from '../../../shared/validators/validate-email.validator';
|
|
||||||
import { ValidatePasswordValidator } from '../../../shared/validators/validate-password.validator';
|
|
||||||
import { ValidateNotEmptyValidator } from '../../../shared/validators/validate-not-empty.validator';
|
|
||||||
import {Value} from "@sinclair/typebox/value";
|
import {Value} from "@sinclair/typebox/value";
|
||||||
|
|
||||||
const GOOGLE_LOGO_SVG = 'assets/img/providers/google.svg';
|
const GOOGLE_LOGO_SVG = 'assets/img/providers/google.svg';
|
||||||
|
|||||||
@@ -1,14 +1,5 @@
|
|||||||
import {
|
import {animate, animateChild, group, query, state, style, transition, trigger,} from '@angular/animations';
|
||||||
animate,
|
import {Component, EventEmitter, Input, Output} from '@angular/core';
|
||||||
animateChild,
|
|
||||||
group,
|
|
||||||
query,
|
|
||||||
state,
|
|
||||||
style,
|
|
||||||
transition,
|
|
||||||
trigger,
|
|
||||||
} from '@angular/animations';
|
|
||||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-header-slider',
|
selector: 'app-header-slider',
|
||||||
@@ -45,16 +36,16 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
|||||||
})
|
})
|
||||||
export class HeaderSliderComponent {
|
export class HeaderSliderComponent {
|
||||||
@Input()
|
@Input()
|
||||||
ignoreClickOutside!: HTMLDivElement[];
|
ignoreClickOutside!: HTMLDivElement[];
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
clickOutsideStopWatching: boolean = false;
|
clickOutsideStopWatching: boolean = false;
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
state: boolean = false;
|
state: boolean = false;
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
stateChange = new EventEmitter<boolean>();
|
stateChange = new EventEmitter<boolean>();
|
||||||
|
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,9 @@
|
|||||||
import {
|
import {Component, EventEmitter, Input, OnDestroy, OnInit, Output,} from '@angular/core';
|
||||||
Component,
|
import {faUser} from '@fortawesome/free-solid-svg-icons';
|
||||||
EventEmitter,
|
import {SliderItemComponent} from 'src/app/shared/components/slider-item/slider-item.component';
|
||||||
Input,
|
import {User} from '../../../shared/model/user/user.model';
|
||||||
OnDestroy,
|
import {AuthService} from '../../../shared/service/auth.service';
|
||||||
OnInit,
|
import {Subscription} from 'rxjs';
|
||||||
Output,
|
|
||||||
} from '@angular/core';
|
|
||||||
import { faUser } from '@fortawesome/free-solid-svg-icons';
|
|
||||||
import { SliderItemComponent } from 'src/app/shared/components/slider-item/slider-item.component';
|
|
||||||
import { User } from '../../../shared/model/user/user.model';
|
|
||||||
import { AuthService } from '../../../shared/service/auth.service';
|
|
||||||
import { Subscription } from 'rxjs';
|
|
||||||
import {Value} from "@sinclair/typebox/value";
|
import {Value} from "@sinclair/typebox/value";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { Component, EventEmitter, OnInit, Output } from '@angular/core';
|
import {Component, EventEmitter, OnInit, Output} from '@angular/core';
|
||||||
import { Subscription } from 'rxjs';
|
import {Subscription} from 'rxjs';
|
||||||
import { AuthService } from 'src/app/shared/service/auth.service';
|
import {AuthService} from 'src/app/shared/service/auth.service';
|
||||||
import { SliderItemComponent } from 'src/app/shared/components/slider-item/slider-item.component';
|
import {SliderItemComponent} from 'src/app/shared/components/slider-item/slider-item.component';
|
||||||
import { User } from 'src/app/shared/model/user/user.model';
|
import {User} from 'src/app/shared/model/user/user.model';
|
||||||
import {Value} from "@sinclair/typebox/value";
|
import {Value} from "@sinclair/typebox/value";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
|||||||
@@ -1,20 +1,12 @@
|
|||||||
import {
|
import {Component, ComponentRef, ElementRef, OnDestroy, OnInit, ViewChild, ViewContainerRef,} from '@angular/core';
|
||||||
Component,
|
import {faUser} from '@fortawesome/free-solid-svg-icons';
|
||||||
ComponentRef,
|
import {LoginComponent} from './header-popup/login/login.component';
|
||||||
ElementRef,
|
import {SignupComponent} from './header-popup/signup/signup.component';
|
||||||
OnDestroy,
|
import {AuthService} from '../shared/service/auth.service';
|
||||||
OnInit,
|
import {User} from '../shared/model/user/user.model';
|
||||||
ViewChild,
|
import {Subscription} from 'rxjs';
|
||||||
ViewContainerRef,
|
import {HelpComponent} from './header-popup/help/help.component';
|
||||||
} from '@angular/core';
|
import {MyProfileComponent} from './header-popup/my-profile/my-profile.component';
|
||||||
import { faUser } from '@fortawesome/free-solid-svg-icons';
|
|
||||||
import { LoginComponent } from './header-popup/login/login.component';
|
|
||||||
import { SignupComponent } from './header-popup/signup/signup.component';
|
|
||||||
import { AuthService } from '../shared/service/auth.service';
|
|
||||||
import { User } from '../shared/model/user/user.model';
|
|
||||||
import { Subscription } from 'rxjs';
|
|
||||||
import { HelpComponent } from './header-popup/help/help.component';
|
|
||||||
import { MyProfileComponent } from './header-popup/my-profile/my-profile.component';
|
|
||||||
import {Value} from "@sinclair/typebox/value";
|
import {Value} from "@sinclair/typebox/value";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
|||||||
@@ -1,24 +1,26 @@
|
|||||||
import { NgModule } from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import { CommonModule, NgOptimizedImage } from '@angular/common';
|
import {CommonModule, NgOptimizedImage} from '@angular/common';
|
||||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||||
|
|
||||||
import { HeaderComponent } from './header.component';
|
import {HeaderComponent} from './header.component';
|
||||||
import { HeaderSliderComponent } from './header-slider/header-slider.component';
|
import {HeaderSliderComponent} from './header-slider/header-slider.component';
|
||||||
import { NavSliderComponent } from './header-slider/nav-slider/nav-slider.component';
|
import {NavSliderComponent} from './header-slider/nav-slider/nav-slider.component';
|
||||||
import { UserSliderComponent } from './header-slider/user-slider/user-slider.component';
|
import {UserSliderComponent} from './header-slider/user-slider/user-slider.component';
|
||||||
import { HeaderDropdownComponent } from './header-dropdown/header-dropdown.component';
|
import {HeaderDropdownComponent} from './header-dropdown/header-dropdown.component';
|
||||||
import { SharedModule } from '../shared/shared.module';
|
import {SharedModule} from '../shared/shared.module';
|
||||||
import { AppRouterModule } from '../app-router.module';
|
import {AppRouterModule} from '../app-router.module';
|
||||||
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';
|
||||||
import { LoginComponent } from './header-popup/login/login.component';
|
import {LoginComponent} from './header-popup/login/login.component';
|
||||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
|
||||||
import { SignupComponent } from './header-popup/signup/signup.component';
|
import {SignupComponent} from './header-popup/signup/signup.component';
|
||||||
import { CallbackComponent } from './header-popup/callback/callback.component';
|
import {CallbackComponent} from './header-popup/callback/callback.component';
|
||||||
import { MatIconModule } from '@angular/material/icon';
|
import {MatIconModule} from '@angular/material/icon';
|
||||||
import { ErrorBoxComponent } from './header-popup/error-box/error-box.component';
|
import {ErrorBoxComponent} from './header-popup/error-box/error-box.component';
|
||||||
import { HelpComponent } from './header-popup/help/help.component';
|
import {HelpComponent} from './header-popup/help/help.component';
|
||||||
import { MyProfileComponent } from './header-popup/my-profile/my-profile.component';
|
import {MyProfileComponent} from './header-popup/my-profile/my-profile.component';
|
||||||
import { ProfilePicturePickerComponent } from './header-popup/my-profile/profile-picture-picker/profile-picture-picker.component';
|
import {
|
||||||
|
ProfilePicturePickerComponent
|
||||||
|
} from './header-popup/my-profile/profile-picture-picker/profile-picture-picker.component';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { NgModule } from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import {CommonModule} from '@angular/common';
|
||||||
import { RouterModule, Routes } from '@angular/router';
|
import {RouterModule, Routes} from '@angular/router';
|
||||||
import {HomeComponent} from "./home.component";
|
import {HomeComponent} from "./home.component";
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-home',
|
selector: 'app-home',
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { NgModule } from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import {CommonModule, NgOptimizedImage} from '@angular/common';
|
import {CommonModule, NgOptimizedImage} from '@angular/common';
|
||||||
import {HomeComponent} from "./home.component";
|
import {HomeComponent} from "./home.component";
|
||||||
import {StackSliderComponent} from "./stack-slider/stack-slider.component";
|
import {StackSliderComponent} from "./stack-slider/stack-slider.component";
|
||||||
@@ -7,7 +7,6 @@ import {NgxGlideComponent} from "ngx-glide";
|
|||||||
import {HomeRouterModule} from "./home-router.module";
|
import {HomeRouterModule} from "./home-router.module";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
HomeComponent,
|
HomeComponent,
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
||||||
|
|
||||||
import { StackCardComponent } from './stack-card.component';
|
import {StackCardComponent} from './stack-card.component';
|
||||||
|
|
||||||
describe('StackCardComponent', () => {
|
describe('StackCardComponent', () => {
|
||||||
let component: StackCardComponent;
|
let component: StackCardComponent;
|
||||||
let fixture: ComponentFixture<StackCardComponent>;
|
let fixture: ComponentFixture<StackCardComponent>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [StackCardComponent]
|
declarations: [StackCardComponent]
|
||||||
|
});
|
||||||
|
fixture = TestBed.createComponent(StackCardComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
fixture = TestBed.createComponent(StackCardComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should create', () => {
|
it('should create', () => {
|
||||||
expect(component).toBeTruthy();
|
expect(component).toBeTruthy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
||||||
|
|
||||||
import { StackSliderComponent } from './stack-slider.component';
|
import {StackSliderComponent} from './stack-slider.component';
|
||||||
|
|
||||||
describe('StackSliderComponent', () => {
|
describe('StackSliderComponent', () => {
|
||||||
let component: StackSliderComponent;
|
let component: StackSliderComponent;
|
||||||
let fixture: ComponentFixture<StackSliderComponent>;
|
let fixture: ComponentFixture<StackSliderComponent>;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [StackSliderComponent]
|
declarations: [StackSliderComponent]
|
||||||
|
});
|
||||||
|
fixture = TestBed.createComponent(StackSliderComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
fixture = TestBed.createComponent(StackSliderComponent);
|
|
||||||
component = fixture.componentInstance;
|
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should create', () => {
|
it('should create', () => {
|
||||||
expect(component).toBeTruthy();
|
expect(component).toBeTruthy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import {Component, HostListener, Input, OnInit, ViewChild} from '@angular/core';
|
|||||||
import {faCodeFork, faEye, faScaleBalanced, faStar} from '@fortawesome/free-solid-svg-icons';
|
import {faCodeFork, faEye, faScaleBalanced, faStar} from '@fortawesome/free-solid-svg-icons';
|
||||||
import {Language, Project} from "../../shared/model/project/project.model";
|
import {Language, Project} from "../../shared/model/project/project.model";
|
||||||
import {
|
import {
|
||||||
ApexChart, ApexDataLabels,
|
ApexChart,
|
||||||
|
ApexDataLabels,
|
||||||
ApexNonAxisChartSeries,
|
ApexNonAxisChartSeries,
|
||||||
ApexPlotOptions,
|
ApexPlotOptions,
|
||||||
ApexResponsive,
|
ApexResponsive,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { NgModule } from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import {CommonModule} from '@angular/common';
|
||||||
import { RouterModule, Routes } from '@angular/router';
|
import {RouterModule, Routes} from '@angular/router';
|
||||||
import {ProjectsComponent} from "./projects.component";
|
import {ProjectsComponent} from "./projects.component";
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import {NgModule} from "@angular/core";
|
import {NgModule} from "@angular/core";
|
||||||
import {ProjectsComponent} from "./projects.component";
|
import {ProjectsComponent} from "./projects.component";
|
||||||
import {CommonModule, NgOptimizedImage} from "@angular/common";
|
import {CommonModule, NgOptimizedImage} from "@angular/common";
|
||||||
import { ProjectCardComponent } from './project-card/project-card.component';
|
import {ProjectCardComponent} from './project-card/project-card.component';
|
||||||
import {MatIconModule} from "@angular/material/icon";
|
import {MatIconModule} from "@angular/material/icon";
|
||||||
import {FontAwesomeModule} from "@fortawesome/angular-fontawesome";
|
import {FontAwesomeModule} from "@fortawesome/angular-fontawesome";
|
||||||
import {NgApexchartsModule} from "ng-apexcharts";
|
import {NgApexchartsModule} from "ng-apexcharts";
|
||||||
|
|||||||
@@ -1,21 +1,5 @@
|
|||||||
import {
|
import {animate, animateChild, group, query, state, style, transition, trigger,} from '@angular/animations';
|
||||||
animate,
|
import {Component, EventEmitter, Input, Output,} from '@angular/core';
|
||||||
animateChild,
|
|
||||||
group,
|
|
||||||
query,
|
|
||||||
state,
|
|
||||||
style,
|
|
||||||
transition,
|
|
||||||
trigger,
|
|
||||||
} from '@angular/animations';
|
|
||||||
import {
|
|
||||||
Component,
|
|
||||||
ElementRef,
|
|
||||||
EventEmitter,
|
|
||||||
Input,
|
|
||||||
Output,
|
|
||||||
ViewEncapsulation,
|
|
||||||
} from '@angular/core';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-popup',
|
selector: 'app-popup',
|
||||||
@@ -56,13 +40,13 @@ import {
|
|||||||
})
|
})
|
||||||
export class PopupComponent {
|
export class PopupComponent {
|
||||||
@Input()
|
@Input()
|
||||||
state: boolean = false;
|
state: boolean = false;
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
ignoreClickOutside!: HTMLDivElement[];
|
ignoreClickOutside!: HTMLDivElement[];
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
stateChange = new EventEmitter<boolean>(false);
|
stateChange = new EventEmitter<boolean>(false);
|
||||||
|
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
import {
|
import {animate, state, style, transition, trigger,} from '@angular/animations';
|
||||||
animate,
|
import {Component, Input} from '@angular/core';
|
||||||
state,
|
|
||||||
style,
|
|
||||||
transition,
|
|
||||||
trigger,
|
|
||||||
} from '@angular/animations';
|
|
||||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-slider-item',
|
selector: 'app-slider-item',
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
import { NgModule } from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import {CommonModule} from '@angular/common';
|
||||||
import {
|
import {NgcCookieConsentConfig, NgcCookieConsentModule,} from 'ngx-cookieconsent';
|
||||||
NgcCookieConsentConfig,
|
|
||||||
NgcCookieConsentModule,
|
|
||||||
} from 'ngx-cookieconsent';
|
|
||||||
|
|
||||||
const cookieConfig: NgcCookieConsentConfig = {
|
const cookieConfig: NgcCookieConsentConfig = {
|
||||||
cookie: {
|
cookie: {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import {Injectable} from '@angular/core';
|
||||||
import { BehaviorSubject, Subject, Subscription } from 'rxjs';
|
import {BehaviorSubject} from 'rxjs';
|
||||||
import { CookieService } from 'ngx-cookie-service';
|
import {CookieService} from 'ngx-cookie-service';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
|
|||||||
@@ -1,39 +1,22 @@
|
|||||||
import { DOCUMENT } from '@angular/common';
|
import {DOCUMENT} from '@angular/common';
|
||||||
import {
|
import {AfterViewInit, Directive, ElementRef, EventEmitter, Inject, Input, OnDestroy, Output,} from '@angular/core';
|
||||||
AfterViewInit,
|
import {filter, fromEvent, Subscription,} from 'rxjs';
|
||||||
Directive,
|
|
||||||
ElementRef,
|
|
||||||
EventEmitter,
|
|
||||||
Inject,
|
|
||||||
Input,
|
|
||||||
OnDestroy,
|
|
||||||
Output,
|
|
||||||
ViewChild,
|
|
||||||
} from '@angular/core';
|
|
||||||
import {
|
|
||||||
combineLatest,
|
|
||||||
combineLatestWith,
|
|
||||||
filter,
|
|
||||||
fromEvent,
|
|
||||||
merge,
|
|
||||||
Subscription,
|
|
||||||
} from 'rxjs';
|
|
||||||
|
|
||||||
@Directive({
|
@Directive({
|
||||||
selector: '[appClickedOutside]',
|
selector: '[appClickedOutside]',
|
||||||
})
|
})
|
||||||
export class ClickedOutsideDirective implements AfterViewInit, OnDestroy {
|
export class ClickedOutsideDirective implements AfterViewInit, OnDestroy {
|
||||||
@Input()
|
@Input()
|
||||||
ignoreElementList!: HTMLDivElement[];
|
ignoreElementList!: HTMLDivElement[];
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
includeClickedOutside!: HTMLDivElement[];
|
includeClickedOutside!: HTMLDivElement[];
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
clickOutsideStopWatching: boolean = false;
|
clickOutsideStopWatching: boolean = false;
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
clickOutside: EventEmitter<void> = new EventEmitter();
|
clickOutside: EventEmitter<void> = new EventEmitter();
|
||||||
|
|
||||||
eventListener!: Subscription;
|
eventListener!: Subscription;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Type, type Static } from '@sinclair/typebox'
|
import {type Static, Type} from '@sinclair/typebox'
|
||||||
|
|
||||||
|
|
||||||
export const HttpError = Type.Object({
|
export const HttpError = Type.Object({
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Type, type Static } from '@sinclair/typebox'
|
import {type Static, Type} from '@sinclair/typebox'
|
||||||
|
|
||||||
|
|
||||||
export const Language = Type.Object({
|
export const Language = Type.Object({
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Type, type Static } from '@sinclair/typebox'
|
import {type Static, Type} from '@sinclair/typebox'
|
||||||
|
|
||||||
|
|
||||||
export const Stack = Type.Object({
|
export const Stack = Type.Object({
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Type, type Static } from '@sinclair/typebox'
|
import {type Static, Type} from '@sinclair/typebox'
|
||||||
|
|
||||||
|
|
||||||
export const Token = Type.Object({
|
export const Token = Type.Object({
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Type, type Static } from '@sinclair/typebox'
|
import {type Static, Type} from '@sinclair/typebox'
|
||||||
|
|
||||||
import { Token } from '../token/token.model';
|
import {Token} from '../token/token.model';
|
||||||
|
|
||||||
|
|
||||||
export const User = Type.Object({
|
export const User = Type.Object({
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import {Injectable} from '@angular/core';
|
||||||
import { SwUpdate } from '@angular/service-worker';
|
import {SwUpdate} from '@angular/service-worker';
|
||||||
import { interval } from 'rxjs';
|
import {interval} from 'rxjs';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
|
|||||||
@@ -1,16 +1,10 @@
|
|||||||
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
|
import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';
|
||||||
import { Injectable } from '@angular/core';
|
import {Injectable} from '@angular/core';
|
||||||
import {
|
import {first, map, Observable, of, Subject,} from 'rxjs';
|
||||||
first,
|
import {catchError} from 'rxjs/operators';
|
||||||
map,
|
import {environment} from 'src/environments/environment';
|
||||||
Observable,
|
import {HttpError} from '../model/httpError/httpError.model';
|
||||||
of,
|
import {User} from '../model/user/user.model';
|
||||||
Subject,
|
|
||||||
} from 'rxjs';
|
|
||||||
import { catchError } from 'rxjs/operators';
|
|
||||||
import { environment } from 'src/environments/environment';
|
|
||||||
import { HttpError } from '../model/httpError/httpError.model';
|
|
||||||
import { User } from '../model/user/user.model';
|
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
|
|||||||
@@ -1,12 +1,8 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import {Injectable} from '@angular/core';
|
||||||
import {Language, Project} from "../model/project/project.model";
|
import {Language, Project} from "../model/project/project.model";
|
||||||
import {HttpClient} from "@angular/common/http";
|
import {HttpClient} from "@angular/common/http";
|
||||||
import {
|
import {map, Observable, switchMap, tap} from 'rxjs';
|
||||||
map, mergeMap,
|
import {environment} from 'src/environments/environment';
|
||||||
Observable,
|
|
||||||
pipe, switchMap, take, tap
|
|
||||||
} from 'rxjs';
|
|
||||||
import { environment } from 'src/environments/environment';
|
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import { NgModule } from '@angular/core';
|
import {NgModule} from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import {CommonModule} from '@angular/common';
|
||||||
import { ClickedOutsideDirective } from './directive/clicked-outside/clicked-outside.directive';
|
import {ClickedOutsideDirective} from './directive/clicked-outside/clicked-outside.directive';
|
||||||
import { SliderItemComponent } from './components/slider-item/slider-item.component';
|
import {SliderItemComponent} from './components/slider-item/slider-item.component';
|
||||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
|
||||||
import { HttpClientModule } from '@angular/common/http';
|
import {HttpClientModule} from '@angular/common/http';
|
||||||
import { PopupComponent } from './components/popup/popup.component';
|
import {PopupComponent} from './components/popup/popup.component';
|
||||||
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
import {FontAwesomeModule} from '@fortawesome/angular-fontawesome';
|
||||||
import { CookieConsentModule } from './cookie-consent/cookie-consent.module';
|
import {CookieConsentModule} from './cookie-consent/cookie-consent.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { AbstractControl } from '@angular/forms';
|
import {AbstractControl} from '@angular/forms';
|
||||||
|
|
||||||
export function ValidateEmailValidator(control: AbstractControl) {
|
export function ValidateEmailValidator(control: AbstractControl) {
|
||||||
const email = control.value;
|
const email = control.value;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { AbstractControl } from '@angular/forms';
|
import {AbstractControl} from '@angular/forms';
|
||||||
|
|
||||||
export function ValidateNotEmptyValidator(control: AbstractControl) {
|
export function ValidateNotEmptyValidator(control: AbstractControl) {
|
||||||
const value = control.value;
|
const value = control.value;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { AbstractControl } from '@angular/forms';
|
import {AbstractControl} from '@angular/forms';
|
||||||
|
|
||||||
export function ValidatePasswordValidator(control: AbstractControl) {
|
export function ValidatePasswordValidator(control: AbstractControl) {
|
||||||
var password = control.value;
|
var password = control.value;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { enableProdMode } from '@angular/core';
|
import {enableProdMode} from '@angular/core';
|
||||||
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
|
||||||
|
|
||||||
import { AppModule } from './app/app.module';
|
import {AppModule} from './app/app.module';
|
||||||
import { environment } from './environments/environment';
|
import {environment} from './environments/environment';
|
||||||
|
|
||||||
if (environment.production) {
|
if (environment.production) {
|
||||||
enableProdMode();
|
enableProdMode();
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
|
||||||
|
|
||||||
import 'zone.js/testing';
|
import 'zone.js/testing';
|
||||||
import { getTestBed } from '@angular/core/testing';
|
import {getTestBed} from '@angular/core/testing';
|
||||||
import {
|
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting,} from '@angular/platform-browser-dynamic/testing';
|
||||||
BrowserDynamicTestingModule,
|
|
||||||
platformBrowserDynamicTesting,
|
|
||||||
} from '@angular/platform-browser-dynamic/testing';
|
|
||||||
|
|
||||||
// First, initialize the Angular testing environment.
|
// First, initialize the Angular testing environment.
|
||||||
getTestBed().initTestEnvironment(
|
getTestBed().initTestEnvironment(
|
||||||
|
|||||||
Reference in New Issue
Block a user