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)