diff --git a/src/app/components/home/home.component.html b/src/app/components/home/home.component.html
index 2714fc22..af6cbc39 100644
--- a/src/app/components/home/home.component.html
+++ b/src/app/components/home/home.component.html
@@ -26,8 +26,10 @@
Meetups em destaque
-
-
+
+
diff --git a/src/app/components/home/home.component.ts b/src/app/components/home/home.component.ts
index d1f3f7ea..c270750a 100644
--- a/src/app/components/home/home.component.ts
+++ b/src/app/components/home/home.component.ts
@@ -18,9 +18,9 @@ export class HomeComponent implements OnInit, OnDestroy {
public hasBook: Boolean = true;
public meetups: Meetup[] = [];
- public meetupsAll: Meetup[] = [];
- public hasMeetup: boolean = true;
- public showButtonAllMeetups: boolean = true;
+ public meetupsCurrentPage: number = 1;
+ public meetupsPerPage: number = 10;
+ public showButtonMoreMeetups: boolean = true;
private _destroySubscribes$ = new Subject
();
@@ -43,20 +43,19 @@ export class HomeComponent implements OnInit, OnDestroy {
getMeetups() {
this._scMeetup
- .getAll()
+ .get(this.meetupsCurrentPage, this.meetupsPerPage)
.pipe(takeUntil(this._destroySubscribes$))
.subscribe((meetups) => {
- this.meetupsAll = meetups.items;
- this.hasMeetup = meetups.items.length > 0 ? true : false;
+ this.meetups.push(...meetups.items);
- this.meetupsAll.sort((a, b) => (a.startDate > b.startDate ? -1 : 0));
- this.meetups = this.meetupsAll.slice(0, 5);
+ const maxPage = Math.ceil(meetups.totalItems / meetups.itemsPerPage);
+ this.showButtonMoreMeetups = this.meetupsCurrentPage < maxPage;
});
}
- showAllMetups() {
- this.meetups = this.meetupsAll;
- this.showButtonAllMeetups = false;
+ showMoreMetups() {
+ this.meetupsCurrentPage++;
+ this.getMeetups();
}
ngOnDestroy() {
diff --git a/src/app/core/services/meetup/meetup.service.ts b/src/app/core/services/meetup/meetup.service.ts
index f60608f4..ae091346 100644
--- a/src/app/core/services/meetup/meetup.service.ts
+++ b/src/app/core/services/meetup/meetup.service.ts
@@ -15,8 +15,8 @@ export class MeetupService {
private config: AppConfig
) {}
- public getAll(): Observable {
- return this._http.get(`${this.config.apiEndpoint}/Meetup`);
+ public get(page: number, pageSize: number): Observable {
+ return this._http.get(`${this.config.apiEndpoint}/Meetup?page=${page}&pagesize=${pageSize}`);
}
public search(criteria: string): Observable {