Skip to content

Commit 67c133f

Browse files
committed
Finished extra credit - removing next link if no more pages
1 parent 97e6b2e commit 67c133f

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

src/store.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,18 @@ export default new Vuex.Store({
1616
'food',
1717
'community'
1818
],
19-
events: []
19+
events: [],
20+
eventsTotal: 0
2021
},
2122
mutations: {
2223
ADD_EVENT(state, event) {
2324
state.events.push(event)
2425
},
2526
SET_EVENTS(state, events) {
2627
state.events = events
28+
},
29+
SET_EVENTS_TOTAL(state, eventsTotal) {
30+
state.eventsTotal = eventsTotal
2731
}
2832
},
2933
actions: {
@@ -35,6 +39,10 @@ export default new Vuex.Store({
3539
fetchEvents({ commit }, { perPage, page }) {
3640
EventService.getEvents(perPage, page)
3741
.then(response => {
42+
commit(
43+
'SET_EVENTS_TOTAL',
44+
parseInt(response.headers['x-total-count'])
45+
)
3846
commit('SET_EVENTS', response.data)
3947
})
4048
.catch(error => {

src/views/EventList.vue

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@
44
<EventCard v-for="event in events" :key="event.id" :event="event"/>
55
<template v-if="page != 1">
66
<router-link :to="{ name: 'event-list', query: { page: page - 1 } }" rel="prev">
7-
Prev Page</router-link> |
7+
Prev Page</router-link>
8+
<template v-if="isLastPage"> | </template>
89
</template>
9-
<router-link :to="{ name: 'event-list', query: { page: page + 1 } }" rel="next">
10+
<template v-if="isLastPage">
11+
<router-link :to="{ name: 'event-list', query: { page: page + 1 } }" rel="next">
1012
Next Page</router-link>
13+
</template>
1114
</div>
1215
</template>
1316

@@ -29,7 +32,10 @@ export default {
2932
page() {
3033
return parseInt(this.$route.query.page) || 1
3134
},
32-
...mapState(['events'])
35+
isLastPage() {
36+
return this.eventsTotal > this.page * 3
37+
},
38+
...mapState(['events', 'eventsTotal'])
3339
}
3440
}
3541
</script>

0 commit comments

Comments
 (0)