diff --git a/src/pages/blog/[slug].vue b/src/pages/blog/[slug].vue index 1fbe21d..09e5d00 100644 --- a/src/pages/blog/[slug].vue +++ b/src/pages/blog/[slug].vue @@ -4,6 +4,10 @@ const { data: post } = await useAsyncData(`blog-${slug}`, () => { return queryCollection('blog').path(`/blog/${slug}`).first(); }); +if (!post.value) { + throw createError({ statusCode: 404, statusMessage: 'Page Not Found' }); +} + useHead({ title: `${post.value.title} | Pretendo Network Blog`, meta: [ @@ -38,7 +42,7 @@ useHead({ {{ post.author }} diff --git a/src/pages/blog/index.vue b/src/pages/blog/index.vue index bc549d8..440bb6f 100644 --- a/src/pages/blog/index.vue +++ b/src/pages/blog/index.vue @@ -2,9 +2,9 @@ /* eslint-disable vue/no-v-html -- we might wanna avoid this by rewriting the locales to use variables */ const { data: allPosts } = await useAsyncData('blog', () => queryCollection('blog').all()); -const posts = allPosts.value?.filter(p => !p.path.startsWith('/blog/_')).sort((a, b) => { +const posts = computed(() => allPosts.value?.filter(p => !p.path.startsWith('/blog/_')).sort((a, b) => { return new Date(b.date).getTime() - new Date(a.date).getTime(); -}); +}));