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..695bfb98 100644 --- a/src/views/Threads.vue +++ b/src/views/Threads.vue @@ -210,12 +210,12 @@ - +
- +
@@ -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' @@ -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 @@ -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,