From b22773b2ae8c5296777462d34aa74397fad55bf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Thu, 1 Feb 2024 17:32:12 +0100 Subject: [PATCH] Snad fix 404ky --- src/boot/apollo.js | 7 ++--- src/components/ListFilters.vue | 27 ++++++++++++++++--- src/composables/meta.js | 5 ++-- src/composables/pagination.js | 6 +++-- src/pages/errors/ErrorNotFound.vue | 21 ++++++++++----- .../profile/poi/PointsOfInterestPage.vue | 12 ++++----- src/pages/public/poi/PointsOfInterestPage.vue | 15 ++++++----- src/stores/App.js | 5 ++-- 8 files changed, 66 insertions(+), 32 deletions(-) diff --git a/src/boot/apollo.js b/src/boot/apollo.js index a858868..3285fac 100644 --- a/src/boot/apollo.js +++ b/src/boot/apollo.js @@ -60,7 +60,6 @@ export default (({store, router}) => { return handleRefreshToken(store, router, forward, operation); } else if (error.message.includes("404") || error.message.includes("Not found")) { useAppStore(store).appStatus = 404; - console.log("not found"); } else { Notify.create(errorObject("API error: " + error.message)); } @@ -81,11 +80,13 @@ export default (({store, router}) => { .then((response) => response) .catch(err => { const errStr = err.toString(); - if (errStr.includes('Not found')) { + if (errStr.includes('Not found') || errStr.includes("No row was found")) { useAppStore(store).appStatus = 404; + return Promise.resolve(); } - else if (!errStr.includes("401") && !errStr.includes("Not authorized")) + else if (!errStr.includes("401") && !errStr.includes("Not authorized")) { console.error("Error during query: ", err) + } return Promise.reject(err); }) }; diff --git a/src/components/ListFilters.vue b/src/components/ListFilters.vue index 7bec26a..0679089 100644 --- a/src/components/ListFilters.vue +++ b/src/components/ListFilters.vue @@ -1,7 +1,8 @@ - diff --git a/src/pages/profile/poi/PointsOfInterestPage.vue b/src/pages/profile/poi/PointsOfInterestPage.vue index da2049d..0dea3aa 100644 --- a/src/pages/profile/poi/PointsOfInterestPage.vue +++ b/src/pages/profile/poi/PointsOfInterestPage.vue @@ -6,20 +6,20 @@ import BasicListSkeleton from "components/basicSkeletons/BasicListSkeleton.vue"; import BasicInfoBanner from "components/banners/BasicInfoBanner.vue"; import {usePointsOfInterestStore} from "stores/PointsOfInterest"; import {storeToRefs} from "pinia"; -import {loadPage, paginationLimit, paginationOffset} from "src/composables/pagination"; +import {filters, loadPage, paginationLimit, paginationOffset} from "src/composables/pagination"; import ListFilters from "components/ListFilters.vue"; useAppStore().setPageTitle("Zajímavá místa"); paginationLimit.value = 15; -const loadNextPage = (appendItems, filters = {}) => loadPage({ - fetchFunc: usePointsOfInterestStore().fetch, - filters, appendItems +const loadNextPage = (appendItems) => loadPage({ + fetchFunc: usePointsOfInterestStore().fetch, appendItems }); loadNextPage(false); -const handleFiltersChanged = (filters) => { +const handleFiltersChanged = (newFilters) => { paginationOffset.value = 0; - loadNextPage(false, filters); + filters.value = newFilters; + loadNextPage(false); } const {isQueryRunning, totalItemsCount, pointsOfInterest} = storeToRefs(usePointsOfInterestStore()); diff --git a/src/pages/public/poi/PointsOfInterestPage.vue b/src/pages/public/poi/PointsOfInterestPage.vue index 6f3630a..bfc2c1e 100644 --- a/src/pages/public/poi/PointsOfInterestPage.vue +++ b/src/pages/public/poi/PointsOfInterestPage.vue @@ -6,7 +6,7 @@ import POIList from "components/poi/POIList.vue"; import {useAppStore} from "stores/App"; import {useMeta} from "quasar"; import {metaData} from "src/composables/meta"; -import {loadPage, paginationLimit, paginationOffset} from "src/composables/pagination"; +import {filters, loadPage, paginationLimit, paginationOffset} from "src/composables/pagination"; import ListFilters from "components/ListFilters.vue"; useAppStore().setPageTitle("Místa"); @@ -18,21 +18,22 @@ useMeta(() => metaData({ title: "Místa" })) -const loadNextPage = (appendItems, filters) => loadPage({ - fetchFunc: usePointsOfInterestStore().fetchPublic, - filters, appendItems +const loadNextPage = (appendItems) => loadPage({ + fetchFunc: usePointsOfInterestStore().fetchPublic, appendItems }); loadNextPage(false); -const handleFiltersChanged = (filters) => { + +const handleFiltersChanged = (newFilters) => { paginationOffset.value = 0; - loadNextPage(false, filters); + filters.value = newFilters; + loadNextPage(false); } const {pointsOfInterest, totalItemsCount, isQueryRunning} = storeToRefs(usePointsOfInterestStore());