Skip to content

Commit bad7e16

Browse files
committed
login asociado a user profile funciona
1 parent a54e146 commit bad7e16

File tree

6 files changed

+44
-31
lines changed

6 files changed

+44
-31
lines changed

frontend/src/app/app.routing.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const appRoutes = [
1717
{ path: 'home', component: HomeComponent },
1818
{ path: 'news', component: NewsComponent },
1919
{ path: 'showNews/:id', component: ShowNewsComponent},
20-
{ path: 'userProfile/:id', component: UserProfile},
20+
{ path: 'userProfile', component: UserProfile},
2121
{ path: 'videogamecatalog', component: VideogameCatalogComponent },
2222
{ path: 'videogame/:id', component: VideogameDetailComponent },
2323
{ path: 'about', component: AboutComponent },

frontend/src/app/components/navBar/navBar.component.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
<li class="nav-item"><a class="nav-link" [routerLink]="['/videogameStatistics/0']">Top Juegos</a></li>
1010
<li class="nav-item"><a class="nav-link" [routerLink]="['/news']">Noticias</a></li>
1111
<li class="nav-item"><a class="nav-link" [routerLink]="['/about']">About</a></li>
12-
<li *ngIf="! loginService.isLogged()" class="nav-item"><a class="nav-link" [routerLink]="['/login']">Iniciar sesión</a></li>
13-
<li *ngIf="! loginService.isLogged()" class="nav-item"><a class="nav-link" [routerLink]="['/signUp']">Registrarse</a></li>
14-
<li *ngIf="loginService.isLogged()" class="nav-item"><a class="nav-link" [routerLink]="['/userProfile/{{loginService.currentUser().id}}']">Perfil</a></li>
12+
<li *ngIf="!loginService.isLogged()" class="nav-item"><a class="nav-link" [routerLink]="['/login']">Iniciar sesión</a></li>
13+
<li *ngIf="!loginService.isLogged()" class="nav-item"><a class="nav-link" [routerLink]="['/signUp']">Registrarse</a></li>
14+
<li *ngIf="loginService.isLogged()" class="nav-item"><a class="nav-link" [routerLink]="['/userProfile']">Perfil</a></li>
1515
<li *ngIf="loginService.isAdmin() && loginService.isLogged()" class="nav-item"><a class="nav-link" [routerLink]="['/admin']">Administrador</a></li>
1616
</ul>
1717
</div>

frontend/src/app/components/navBar/navBar.component.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import { Component } from '@angular/core';
2+
import { Router, ActivatedRoute } from '@angular/router';
3+
import { Usero } from 'src/app/models/usero.model';
24
import { LoginService } from 'src/app/services/login.service'
5+
import { UseroService } from 'src/app/services/usero.service';
36

47
@Component({
58
selector: 'navBar',
@@ -9,8 +12,20 @@ import { LoginService } from 'src/app/services/login.service'
912

1013
export class NavBarComponent{
1114

12-
constructor(public loginService: LoginService){
15+
user?: Usero;
1316

17+
constructor(public loginService: LoginService, public userService: UseroService, activatedRoute: ActivatedRoute){
18+
const id = activatedRoute.snapshot.params['id'];
19+
this.userService.getUser(id).subscribe(
20+
(user) => this.user = user as Usero,
21+
(error: any) => console.error(error)
22+
23+
);
1424
}
1525

26+
/*ngOnInit(){
27+
this.user = this.loginService.currentUser();
28+
}*/
29+
30+
1631
}

frontend/src/app/components/user/userProfile.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ <h3>"{{user.lastName}}"</h3>
5757
</div>
5858
<div class="col-md-4">
5959
<div class="p-3 py-5">
60-
<h4 *ngIf="videogame" class="text-right">Mis compras:</h4>
60+
<h4 class="text-right">Mis compras:</h4>
6161
<div *ngFor="let vg of videogame" class="d-flex justify-content-between align-items-center mb-3">
6262
<ul>
6363
<li>

frontend/src/app/components/user/userProfile.component.ts

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,43 +14,41 @@ import { Videogame } from '../../models/videogame.model';
1414
export class UserProfile {
1515

1616
user!: Usero;
17-
videogame! : Videogame[];
17+
videogame!: Videogame[];
1818
@ViewChild("file")
1919
file: any;
20-
removeImage? :boolean;
20+
removeImage?: boolean;
2121

22-
constructor(private router: Router, activatedRoute: ActivatedRoute, public useroService: UseroService, public loginservice : LoginService) {
23-
const id = activatedRoute.snapshot.params['id'];
22+
constructor(private router: Router, activatedRoute: ActivatedRoute, public useroService: UseroService, public loginservice: LoginService) {
23+
const id = loginservice.currentUser()?.id;
2424
if (id) {
2525
useroService.getUser(id).subscribe(
2626
(user) => this.user = user as Usero,
2727
(error: any) => console.error(error)
2828
);
29+
}
2930
}
30-
useroService.getVideogames(this.user).subscribe(
31-
(videogame) => this.videogame = videogame as Videogame[],
32-
(error: any) => console.error(error)
33-
);
34-
}
3531

36-
ngOnInit(){
37-
this.useroService.getVideogames(this.user).subscribe(
38-
videogame => this.videogame = videogame as Videogame[],
39-
error => console.error(error)
40-
);
32+
ngOnInit() {
33+
if (this.loginservice.currentUser()) {
34+
this.useroService.getVideogames(this.loginservice.currentUser() as Usero).subscribe(
35+
videogame => this.videogame = videogame as Videogame[],
36+
error => console.error(error)
37+
);
38+
}
4139
}
4240

43-
save(){
41+
save() {
4442
this.useroService.updateUser(this.user).subscribe(
45-
(user: any) => this.uploadImage(user),
43+
(user: any) => this.uploadImage(user as Usero),
4644
(error: string) => alert('Error al guardar los datos: ' + error)
4745
);
4846
this.useroService.getVideogames(this.user).subscribe(
4947
videogame => this.videogame = videogame as Videogame[],
5048
error => console.error(error)
5149
);
5250
}
53-
cancel(){
51+
cancel() {
5452
window.history.back();
5553
}
5654

@@ -61,26 +59,26 @@ export class UserProfile {
6159
formData.append("imageFile", image);
6260
this.useroService.setUserImage(user, formData).subscribe(
6361
(_: any) => this.afterUploadImage(),
64-
( error: string) => alert('Error al actualizar o subir la imagen: ' + error)
62+
(error: string) => alert('Error al actualizar o subir la imagen: ' + error)
6563
);
6664
} else {
6765
this.afterUploadImage();
6866
}
6967
}
7068

71-
private afterUploadImage(){
69+
private afterUploadImage() {
7270
this.router.navigate(['/userProfile/']);
7371
}
7472

7573
userImage() {
76-
return this.user.image? '/api/users/' + this.user.id + '/image' : '/assets/images/defaultProfilePhoto';
74+
return this.user.image ? '/api/users/' + this.user.id + '/image' : '/assets/images/defaultProfilePhoto';
7775
}
7876

7977
videogameImage(vg: Videogame) {
80-
return vg.imageVg? '/api/videogames/' + vg.id + '/image' : '/assets/images/defaultProfilePhoto';
78+
return vg.imageVg ? '/api/videogames/' + vg.id + '/image' : '/assets/images/defaultProfilePhoto';
8179
}
8280

83-
logOut(){
81+
logOut() {
8482
this.loginservice.logOut();
8583
}
8684
}

frontend/src/app/services/usero.service.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ export class UseroService {
6868
}
6969
}
7070

71-
updateUser(user: Usero) : Observable<Usero>{
71+
updateUser(user: Usero){
7272
return this.http.put(BASE_URL + user.id, user).pipe(
73-
//catchError((error: any) => this.handleError(error))
74-
)as Observable<Usero>;
73+
catchError((error: any) => this.handleError(error))
74+
);
7575
}
7676

7777
/*------------------IMAGE METHODS------------------*/

0 commit comments

Comments
 (0)