404 fixes

- 404 doesn't pollute state in localStorage
- fix js errors on request details page when request not found
This commit is contained in:
Eric 2024-06-20 17:03:28 +10:00
parent d869176a9c
commit a24883461a
No known key found for this signature in database
2 changed files with 7 additions and 5 deletions

View File

@ -205,10 +205,12 @@ export const useRequestsStore = defineStore(
detailsLoading: false detailsLoading: false
} }
} catch (error) { } catch (error) {
if (error.message.includes('Unknown request')) {
delete requests.value[requestId]
} else {
console.error(`failed to load slots for request ${requestId}: ${error}`) console.error(`failed to load slots for request ${requestId}: ${error}`)
}
throw error throw error
} finally {
requests.value[requestId].detailsLoading = false
} }
} }

View File

@ -26,7 +26,7 @@ async function fetchRequest(requestId) {
} }
const request = computed(() => requests.value[route.params.requestId]) const request = computed(() => requests.value[route.params.requestId])
const detailsLoading = computed(() => requests.value[route.params.requestId].detailsLoading) const detailsLoading = computed(() => requests.value[route.params.requestId]?.detailsLoading)
watch(() => route.params.requestId, fetchRequest, { immediate: true }) watch(() => route.params.requestId, fetchRequest, { immediate: true })
</script> </script>
@ -35,7 +35,7 @@ watch(() => route.params.requestId, fetchRequest, { immediate: true })
<div> <div>
<SkeletonLoading v-if="loading || detailsLoading" type="image" /> <SkeletonLoading v-if="loading || detailsLoading" type="image" />
<StorageRequest <StorageRequest
v-else v-else-if="!!request"
:requestId="route.params.requestId" :requestId="route.params.requestId"
v-model="request" v-model="request"
:enableModeration="route.query.enableModeration === 'true'" :enableModeration="route.query.enableModeration === 'true'"