diff --git a/webapp/pages/post/_id.vue b/webapp/pages/post/_id.vue index 6863e3ca6..5870a1867 100644 --- a/webapp/pages/post/_id.vue +++ b/webapp/pages/post/_id.vue @@ -77,7 +77,7 @@ export default { error, app: { apolloProvider } } = context - const idOrSlug = id + const idOrSlug = id || slug const variables = { idOrSlug } const client = apolloProvider.defaultClient @@ -87,13 +87,16 @@ export default { response = await client.query({ query: queryId, variables }) post = response.data.Post[0] if (post && post.slug === slug) return // all good - if (post && post.slug !== slug) redirect(`/post/${post.id}/${post.slug}`) + if (post && post.slug !== slug) { + return redirect(`/post/${post.id}/${post.slug}`) + } response = await client.query({ query: querySlug, variables }) post = response.data.Post[0] - if (post) redirect(`/post/${post.id}/${post.slug}`) + if (post) return redirect(`/post/${post.id}/${post.slug}`) - return error({ statusCode: 404 }) + const message = 'This post could not be found' + return error({ statusCode: 404, message }) } } diff --git a/webapp/pages/profile/_id.vue b/webapp/pages/profile/_id.vue index ad9772358..382200c82 100644 --- a/webapp/pages/profile/_id.vue +++ b/webapp/pages/profile/_id.vue @@ -40,13 +40,16 @@ export default { response = await client.query({ query: queryId, variables }) user = response.data.User[0] if (user && user.slug === slug) return // all good - if (user && user.slug !== slug) redirect(`/profile/${user.id}/${user.slug}`) + if (user && user.slug !== slug) { + return redirect(`/profile/${user.id}/${user.slug}`) + } response = await client.query({ query: querySlug, variables }) user = response.data.User[0] - if (user) redirect(`/profile/${user.id}/${user.slug}`) + if (user) return redirect(`/profile/${user.id}/${user.slug}`) - return error({ statusCode: 404 }) + const message = 'This user could not be found' + return error({ statusCode: 404, message }) } }