I'm deploying a Gatsby project on Netlify using the 'gatsby-source-prismic' plug-in.
For context, I'm just running some initial tests with Prismic before integrating into a production project.
I currently have a simple Prismic repo with an "article" custom type and two documents within it-- one of the documents is published, the other is simply a draft which I am trying to preview.
As per the instructions I have a 404 page which is exported in the withUnpublishedPreview HOC. My custom type id is "article" hence the templateMap properties.
const NotFoundPage = () => (
<Layout>
<h1>Page not found!</h1>
</Layout>
)
// If an unpublished `page` document is previewed, PageTemplate will be rendered.
export default withUnpublishedPreview(NotFoundPage, {
templateMap: {
article: TestArticle,
prismicArticle: TestArticle,
},
})
The TestArticle component is using the withPreview HOC to merge preview data with published.
const TestArticle = ({ data }: any) => {
console.log(data)
return ( <div dangerouslySetInnerHTML={{ __html: article_title.html }}></div>)
}
export const query = graphql`
query($uid: String) {
prismicArticle(uid: { eq: $uid }) {
data {
article_title {
html
}
}
}
}
`
export default withPreview(TestArticle)
When I navigate to my production draft/404 page from Prismic, the url contains parameters like documentId, token, etc. But I'm simply met with a 404 page and no console log.
The programmatic page building for the published article works fine. Preview/draft does not.
Any ideas what's going on here?