Skip to content

Commit a5cf6e1

Browse files
committed
Implemented recursive videogame-card loading
1 parent 8c67588 commit a5cf6e1

File tree

5 files changed

+21
-21
lines changed

5 files changed

+21
-21
lines changed

frontend/src/app/components/videogame/videogame-card.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div class="col-lg-4 mb-5">
1+
22
<div class="card h-100 shadow border-0">
33

44

@@ -23,5 +23,5 @@
2323
</div>
2424
</div>
2525
</div>
26-
</div>
26+
2727
<ng-template #elseBlock><p>Content to render when condition is false</p></ng-template>

frontend/src/app/components/videogame/videogame-card.component.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,14 @@ import { VideogameService } from 'src/app/services/videogame.service';
1010

1111
export class VideogameCardComponent{
1212

13-
@Input() id!:number;
14-
15-
videogame!: Videogame;
13+
@Input()videogame!: Videogame;
1614

1715
constructor(private router: Router, public videogameService: VideogameService){
18-
1916

2017
}
21-
22-
ngOnInit() {
23-
this.videogameService.getVideogame(this.id).subscribe(
24-
videogame => this.videogame = videogame as Videogame,
25-
error => console.error(error)
26-
27-
)
28-
}
18+
19+
ngOnInit() {}
20+
2921
gotoVideogame() {
3022
this.router.navigate(['/videogame/'+this.videogame.id]);
3123
}

frontend/src/app/components/videogame/videogame-catalog.component.html

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11

2-
32
<section class="py-5">
43
<div class="container px-5">
54
<h2 class="fw-bolder fs-5 mb-4">Videojuegos</h2>
6-
<div id="moreImages" class="row gx-5">
7-
<videogame-card [id]='selectid'></videogame-card>
5+
<div *ngIf="ready" id="moreImages" class="row gx-5">
6+
<videogame-card class="col-lg-4 mb-5" *ngFor="let videogame of videogames;let i = index" [videogame]="videogame"></videogame-card>
87
</div>
98
<div class="text-end mb-5 mb-xl-0">
109
<a class="text-decoration-none" href="#!">

frontend/src/app/components/videogame/videogame-catalog.component.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Component } from '@angular/core';
22
import { Router,ActivatedRoute } from '@angular/router';
3+
import { Videogame } from 'src/app/models/videogame.model';
34
import { VideogameService } from 'src/app/services/videogame.service';
45

56
@Component({
@@ -9,12 +10,20 @@ import { VideogameService } from 'src/app/services/videogame.service';
910

1011
export class VideogameCatalogComponent{
1112

12-
selectid:number = 29;
13-
13+
ids!:number[];
14+
videogames!:Videogame[];
15+
ready:boolean = false;
1416
constructor(private router: Router, activatedRoute: ActivatedRoute, public videogameService: VideogameService){
1517

1618
}
1719

20+
ngOnInit(){
21+
this.videogameService.getVideogames().subscribe(
22+
videogames => this.videogames = videogames as Videogame[],
23+
error => console.error(error)
24+
)
25+
this.ready = true;
26+
}
1827

1928

2029

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ export class VideogameService {
1313

1414
constructor(private httpClient: HttpClient) {}
1515

16-
getVideogames(): Observable<Videogame> {
17-
return this.httpClient.get(URL).pipe() as Observable<Videogame>
16+
getVideogames(): Observable<Videogame[]> {
17+
return this.httpClient.get(URL).pipe() as Observable<Videogame[]>
1818
}
1919

2020
findVideogamePage() {

0 commit comments

Comments
 (0)