From a4cb4856d13812b6ed2056722346c7e75df86b6e Mon Sep 17 00:00:00 2001 From: nicwands Date: Mon, 1 Jun 2026 11:49:10 -0400 Subject: [PATCH] fix redirect error --- pages/preview/+Page.vue | 72 ++++++++++++++++++++++------------------- pages/preview/+data.js | 51 ++++++++++++++++------------- 2 files changed, 67 insertions(+), 56 deletions(-) diff --git a/pages/preview/+Page.vue b/pages/preview/+Page.vue index 59e67a7..ef8fe58 100644 --- a/pages/preview/+Page.vue +++ b/pages/preview/+Page.vue @@ -1,59 +1,63 @@ \ No newline at end of file + diff --git a/pages/preview/+data.js b/pages/preview/+data.js index df0840d..162143e 100644 --- a/pages/preview/+data.js +++ b/pages/preview/+data.js @@ -5,33 +5,41 @@ export const data = async (pageContext) => { // Extract URL parameters safely const { urlParsed } = pageContext const searchParams = urlParsed?.search || {} - - console.log('Preview route - pageContext keys:', Object.keys(pageContext)) + + console.log( + 'Preview route - pageContext keys:', + Object.keys(pageContext), + ) console.log('Preview route - urlParsed:', urlParsed) console.log('Preview route - searchParams:', searchParams) - - const { - secret, - path = '/', - status = 'draft', - documentId, - uid + + const { + secret, + path = '/', + status = 'draft', + documentId, + uid, } = searchParams - + // Validate preview secret if (!secret || secret !== import.meta.env.VITE_PREVIEW_SECRET) { - console.log('Invalid secret:', secret, 'Expected:', import.meta.env.VITE_PREVIEW_SECRET) + console.log( + 'Invalid secret:', + secret, + 'Expected:', + import.meta.env.VITE_PREVIEW_SECRET, + ) throw redirect('/preview-unauthorized') } - + // Build the preview URL path (not full URL since we're redirecting within same origin) const previewPath = path || '/' const previewUrl = new URL(previewPath, 'http://localhost') - + // Add preview parameters previewUrl.searchParams.set('preview', 'true') previewUrl.searchParams.set('status', status) - + // Optional: include document metadata for advanced preview functionality if (documentId) { previewUrl.searchParams.set('documentId', documentId) @@ -39,27 +47,26 @@ export const data = async (pageContext) => { if (uid) { previewUrl.searchParams.set('uid', uid) } - + const redirectUrl = previewUrl.pathname + previewUrl.search console.log('Redirecting to:', redirectUrl) - + // Use Vike's redirect throw redirect(redirectUrl) - } catch (error) { // If it's a redirect, let it pass through - if (error.redirectTo) { + if (error._isAbortError) { throw error } - + console.error('Preview data error:', error) - + // For debugging, let's not redirect on error, but show what went wrong return { redirectUrl: null, error: error.message || 'Failed to process preview request', pageContext: Object.keys(pageContext), - urlParsed: pageContext.urlParsed + urlParsed: pageContext.urlParsed, } } -} \ No newline at end of file +}