import { getBySlug, getByDocumentId } from '@/libs/strapi' export const data = async (pageContext) => { const { routeParams, urlParsed } = pageContext const { slug } = routeParams const searchParams = urlParsed.search || {} // Extract preview parameters from URL const isPreview = searchParams.preview === 'true' const status = searchParams.status || 'published' const documentId = searchParams.documentId const uid = searchParams.uid try { let page = null // If we have a documentId from preview, fetch by document ID if (isPreview && documentId && uid === 'api::page.page') { const response = await getByDocumentId('pages', documentId, { isPreview, status, isSingle: false }) page = response.data?.[0] || null } else { // Normal fetch by slug const response = await getBySlug('pages', slug, { isPreview, status }) page = response.data?.[0] || null } return { page, // Pass preview state to the component isPreview, status, documentId, uid } } catch (error) { console.error('Error fetching page:', error) // Return null page but preserve preview state return { page: null, isPreview, status, documentId, uid } } }