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,