From 78be53246a27e79189ec3801b0a9a555af5d54f0 Mon Sep 17 00:00:00 2001 From: Anthony Kinsey Date: Thu, 5 Sep 2024 14:47:31 -1000 Subject: [PATCH 1/3] fix(pagination): resolve thread pagination issues, update router to not redirect url on 404 --- src/components/layout/Pagination.vue | 2 +- src/router/index.js | 7 ++++++- src/views/Threads.vue | 5 ++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/components/layout/Pagination.vue b/src/components/layout/Pagination.vue index 4de4da9f..ca781c5a 100644 --- a/src/components/layout/Pagination.vue +++ b/src/components/layout/Pagination.vue @@ -153,7 +153,7 @@ export default { pageInput: null, paginationKeys: [], currentPage: props.page, - pageCount: computed(() => Math.ceil(props.count / props.limit)) + pageCount: computed(() => Math.ceil(props.count / props.limit) || 1) }) buildPages() diff --git a/src/router/index.js b/src/router/index.js index 70ead1cb..e9099793 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -416,7 +416,12 @@ err => { } break case 404: - router.push({ name: 'NotFound'}) + router.push({ + name: 'NotFound', + params: { pathMatch: window.location.pathname.split('/').slice(1) }, + query: Object.fromEntries(new URLSearchParams(window.location.search)), + hash: window.location.hash + }) break default: break diff --git a/src/views/Threads.vue b/src/views/Threads.vue index 6e0e3f15..99c407f6 100644 --- a/src/views/Threads.vue +++ b/src/views/Threads.vue @@ -210,7 +210,7 @@ - +
@@ -244,7 +244,7 @@ import SetModeratorsModal from '@/components/modals/admin/management/SetModerato import humanDate from '@/composables/filters/humanDate' import decode from '@/composables/filters/decode' import truncate from '@/composables/filters/truncate' -import { inject, reactive, watch, toRefs, computed } from 'vue' +import { inject, reactive, watch, toRefs } from 'vue' import { boardsApi, threadsApi, watchlistApi } from '@/api' import { AuthStore } from '@/composables/stores/auth' import { PreferencesStore, localStoragePrefs } from '@/composables/stores/prefs' @@ -415,7 +415,6 @@ export default { /* View Data */ const v = reactive({ currentPage: Number($route.query.page) || 1, - pages: computed(() => Math.ceil(v.threadData?.data?.board?.thread_count / v.threadData?.data?.limit)), threadData: { data: {} }, showEditor: false, prefs: $prefs.data, From 746b982cee436ad6e9d8929ecdc499979fb9114c Mon Sep 17 00:00:00 2001 From: Anthony Kinsey Date: Thu, 5 Sep 2024 15:52:49 -1000 Subject: [PATCH 2/3] fix(thread-pagination): resolve thread pagination issue in mobile view --- src/views/Threads.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/Threads.vue b/src/views/Threads.vue index 99c407f6..a2fb300a 100644 --- a/src/views/Threads.vue +++ b/src/views/Threads.vue @@ -215,7 +215,7 @@
- +
From b7d7149fee48eccb97ce2cc26627f7301c998309 Mon Sep 17 00:00:00 2001 From: Anthony Kinsey Date: Fri, 6 Sep 2024 11:01:52 -1000 Subject: [PATCH 3/3] fix(sort): save query params when sorting threads --- src/views/Threads.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/Threads.vue b/src/views/Threads.vue index a2fb300a..695bfb98 100644 --- a/src/views/Threads.vue +++ b/src/views/Threads.vue @@ -345,7 +345,7 @@ export default { if (defaultField || newField === $route.query.field) desc = !desc else desc = true // Sort field changed, default to desc true // Update router to have new query params, watch on query params will update data - let query = { field: newField, page: $route.query.page } + let query = { field: newField, page: $route.query.page, limit: $route.query.limit } if (!query.page) delete query.page // don't include page if undefined if (newField === 'updated_at') delete query.field // do not display default field in qs if (!desc) query.desc = false // only display desc in query string when false