diff --git a/frontend/src/components/PaginationComponent.vue b/frontend/src/components/PaginationComponent.vue
index 640af1e..b5cb724 100644
--- a/frontend/src/components/PaginationComponent.vue
+++ b/frontend/src/components/PaginationComponent.vue
@@ -6,10 +6,8 @@
Previous
-
-
-
-
-
-
-
@@ -45,23 +40,30 @@ export default {
'$route.query.page': {
immediate: true,
handler (newPage) {
- const page = newPage || 1
+ let page = parseInt(newPage, 10)
+
+ if (!page || isNaN(page)) {
+ this.$router.replace({ query: { page: 1 } })
+ page = 1
+ return
+ }
+
this.fetchBooks({ page, pageSize: this.pageSize })
}
}
},
mounted () {
- // this.fetchBooks()
- const currentPage = this.$route.query.page || 1
- if (!this.$route.query.page) {
- this.fetchBooks({ page: currentPage, pageSize: this.pageSize })
+ const currentPage = this.$route.query.page
+
+ if (!currentPage || isNaN(currentPage)) {
+ this.$router.replace({ query: { page: 1 } })
}
},
methods: {
...mapActions(['fetchBooks']),
+
changePage (page) {
this.$router.push({ query: { page } })
- // this.fetchBooks({ page, pageSize: this.pageSize })
}
}
}
diff --git a/frontend/src/services/v1/bookAPIService.js b/frontend/src/services/v1/bookAPIService.js
index 34b2b55..1773545 100644
--- a/frontend/src/services/v1/bookAPIService.js
+++ b/frontend/src/services/v1/bookAPIService.js
@@ -8,9 +8,8 @@ export default {
async fetchV1Books (page = 1, pageSize = 8) {
page = page ?? 1
pageSize = pageSize ?? 8
- console.log(page, pageSize)
-
const URL = `${API_BASE_URL}/book/v1/?page_size=${pageSize}&page=${page}`
+ console.log('Book API:', URL, page, pageSize)
try {
const response = await axios.get(URL)