cookie init

This commit is contained in:
2023-05-03 11:55:26 +02:00
parent 3768f8ef0e
commit cd751b529b
6 changed files with 56 additions and 9 deletions

View File

@@ -24,6 +24,7 @@
"deepl": "^1.0.13",
"geolib": "^3.3.3",
"html-to-image": "^1.11.11",
"ngx-cookie-service": "^15.0.0",
"nodemon": "^2.0.22",
"os-browserify": "^0.3.0",
"path-browserify": "^1.0.1",

View File

@@ -10,6 +10,8 @@ import {FormsModule} from "@angular/forms";
import { HttpClientModule} from "@angular/common/http";
import { SafePipe } from './pipes/safe.pipe';
import { ManagementComponent } from './component/management/management.component';
import {CookieService} from "ngx-cookie-service";
@NgModule({
declarations: [
AppComponent,
@@ -25,7 +27,7 @@ import { ManagementComponent } from './component/management/management.component
FormsModule,
HttpClientModule,
],
providers: [],
providers: [CookieService],
bootstrap: [AppComponent]
})
export class AppModule { }

View File

@@ -8,6 +8,7 @@ import {LocationService} from "../../service/http/location.service";
import {LocationEntity} from "../../interface/LocationEntity";
import {WaypointsEntity} from "../../interface/WaypointsEntity";
import {WaypointService} from "../../service/http/waypoint.service"
import {cookieService} from "../../service/cookie.service";
@Component({
selector: 'app-list',
@@ -15,6 +16,7 @@ import {WaypointService} from "../../service/http/waypoint.service"
styleUrls: ['./list.component.css']
})
export class ListComponent implements OnInit, OnChanges {
username: string = '';
locationParams: string | undefined
locations: LocationEntity[] | undefined;
location: LocationEntity | undefined;
@@ -37,11 +39,13 @@ export class ListComponent implements OnInit, OnChanges {
private readTranslationJsonService: ReadTranslateJsonService,
private locationService: LocationService,
private waypointService: WaypointService,
private cookieService: cookieService,
) {
}
async ngOnInit() {
this.translations = this.readTranslationJsonService.getListTransaltions();
this.username = this.cookieService.getUsername();
this.route.params.subscribe(params => {
this.locationParams = params['location'];
});

View File

@@ -6,10 +6,10 @@ import {ActivatedRoute} from "@angular/router";
import {LocationService} from "../../service/http/location.service";
import {UserService} from "../../service/http/user.service";
import {WaypointService} from "../../service/http/waypoint.service";
import {toNumbers} from "@angular/compiler-cli/src/version_helpers";
import {managementTranslations} from "../../interface/translations";
import {TranslateService} from "../../service/language/translate.service";
import {ReadTranslateJsonService} from "../../service/language/readTranslateJson.service";
import {cookieService} from "../../service/cookie.service";
@Component({
selector: 'app-home',
@@ -18,6 +18,8 @@ import {ReadTranslateJsonService} from "../../service/language/readTranslateJson
})
export class ManagementComponent implements OnInit {
username: string = '';
showUserForm: boolean = false;
showLocationForm: boolean = false;
showWaypointForm: boolean = false;
@@ -39,11 +41,13 @@ export class ManagementComponent implements OnInit {
private userService: UserService,
private translateService: TranslateService,
private readTranslationJsonService: ReadTranslateJsonService,
private cookieService: cookieService,
) {
}
ngOnInit(): void {
this.translations = this.readTranslationJsonService.getManagementTranslations();
this.username = this.cookieService.getUsername();
this.locationService.getLocations().subscribe(locations => {
this.locations = locations;
});

View File

@@ -1,5 +1,5 @@
import {AfterViewInit, Component, ElementRef, OnDestroy, OnInit, ViewChild} from '@angular/core';
import {BehaviorSubject, distinctUntilChanged, fromEvent, Observable, Subject, Subscription} from "rxjs";
import {distinctUntilChanged, fromEvent, Subject, Subscription} from "rxjs";
import {ReadjsonService} from "../service/readjson.service";
import {Router} from "@angular/router";
import {TranslateService} from '../service/language/translate.service';
@@ -7,6 +7,7 @@ import {ReadTranslateJsonService} from "../service/language/readTranslateJson.se
import {homeTranslations} from "../interface/translations";
import {LocationService} from "../service/http/location.service";
import {LocationEntity} from "../interface/LocationEntity";
import {cookieService} from "../service/cookie.service";
@Component({
@@ -16,11 +17,9 @@ import {LocationEntity} from "../interface/LocationEntity";
})
export class HomeComponent implements OnInit, AfterViewInit, OnDestroy {
@ViewChild('myInput') myInput?: ElementRef;
public locationsPopup: Subject<LocationEntity[]> = new Subject<LocationEntity[]>()
username: string = '';
subs: Subscription[] = [];
backgroundColor: string | undefined;
locations: LocationEntity[] = [];
@@ -31,6 +30,7 @@ export class HomeComponent implements OnInit, AfterViewInit, OnDestroy {
suggerimento: string = '';
completamento: string = '';
translations: homeTranslations = {} as homeTranslations;
public locationsPopup: Subject<LocationEntity[]> = new Subject<LocationEntity[]>()
constructor(
@@ -38,14 +38,16 @@ export class HomeComponent implements OnInit, AfterViewInit, OnDestroy {
private router: Router,
private translateService: TranslateService,
private readTranslationJsonService: ReadTranslateJsonService,
private locationService: LocationService
private locationService: LocationService,
private cookieService: cookieService,
) {
}
// Initializes the component and loads translations and locations
ngOnInit(): void {
this.translations = this.readTranslationJsonService.getHomeTranslations();
console.log("translations loaded", this.translations)
console.log("translations loaded", this.translations);
this.username= this.cookieService.getUsername();
this.locationService.getLocations()
.subscribe(locations => {
this.locations = locations;

View File

@@ -0,0 +1,34 @@
import {Injectable} from '@angular/core';
import {CookieService} from 'ngx-cookie-service';
import {Router} from "@angular/router";
@Injectable({
providedIn: 'root'
})
export class cookieService {
constructor(
private coockieService: CookieService,
private router: Router,
) {
}
setUsername(username: string): void {
this.coockieService.set('username', username);
}
getUsername(): string {
let username = this.coockieService.get('username');
if (username == null) {
this.router.navigate(['/login']);
return '';
} else {
return username;
}
}
deleteUsername(): void {
this.coockieService.delete('username');
}
}