Skip to content
This repository has been archived by the owner on May 20, 2024. It is now read-only.

Commit

Permalink
updated packages
Browse files Browse the repository at this point in the history
  • Loading branch information
pvpg committed Mar 6, 2021
1 parent 4b806cf commit f4f09a9
Show file tree
Hide file tree
Showing 16 changed files with 655 additions and 650 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ For more information, refer to the [official Prismic and Gatsby documentation](h
#
## Demo website

A deployment demo is available in Netlify: https://gatsby-coffee-demo.netlify.com/
A deployment demo is available in Netlify: [https://gatsby-coffee-demo.netlify.com/](https://gatsby-coffee-demo.netlify.com/)
#

## 1. Launch the project
Expand Down
8 changes: 0 additions & 8 deletions gatsby-browser.js

This file was deleted.

4 changes: 2 additions & 2 deletions gatsby-node.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ exports.createPages = async ({ graphql, actions }) => {
pages.data.allPrismicProduct.nodes.forEach((page) => {
createPage({
path: page.url,
component: path.resolve(__dirname, 'src/templates/Product.js'),
component: path.resolve(__dirname, 'src/templates/ourProduct.js'),
context: { ...page },
})
})

pages.data.allPrismicBlogPost.nodes.forEach((page) => {
createPage({
path: page.url,
component: path.resolve(__dirname, 'src/templates/BlogPost.js'),
component: path.resolve(__dirname, 'src/templates/blogPost.js'),
context: { ...page },
})
})
Expand Down
8 changes: 0 additions & 8 deletions gatsby-ssr.js

This file was deleted.

997 changes: 462 additions & 535 deletions package-lock.json

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "Coffee sample website",
"name": "coffee-sample-website",
"description": "Coffee sample website with Prismic CMS & Gatsby.js",
"dependencies": {
"gatsby": "^2.23.7",
Expand All @@ -10,10 +10,9 @@
"gatsby-plugin-sass": "^2.3.4",
"gatsby-plugin-sharp": "^2.6.12",
"gatsby-source-filesystem": "^2.3.12",
"gatsby-source-prismic": "^3.3.0",
"gatsby-source-prismic": "3.3.4",
"gatsby-transformer-sharp": "^2.5.5",
"node-sass": "^4.14.1",
"prismic-javascript": "^2.7.1",
"prismic-reactjs": "^1.3.1",
"react": "^16.13.1",
"react-dom": "^16.13.1",
Expand Down
2 changes: 1 addition & 1 deletion prismic-configuration.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module.exports = {
// The repo name for your Prismic repository (found in the url of your repo: https://your-repo-name.prismic.io/)
prismicRepo: 'coffe-shop-demo-pau',
prismicRepo: 'prismic-gatsby-coffee-p',

// Release ID to build (requires access)
releaseID: '',
Expand Down
55 changes: 32 additions & 23 deletions src/pages/404.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,34 @@
// import React from 'react'
// import { withUnpublishedPreview } from 'gatsby-source-prismic'
// import { BlogPostTemplate } from '../templates/BlogPost'
// // import { ProductTemplate } from '../templates/Product'
import React from 'react'
import { withUnpublishedPreview } from 'gatsby-source-prismic'
import { BlogPostTemplate } from '../templates/blogPost'
import { ProductTemplate } from '../templates/ourProduct'
import { HomeTemplate } from './index'
import { ProductsTemplate } from './products'
import { BlogTemplate } from './blog'

// const Page404 = () => (
// <div className="not-found">
// <h1>404</h1>
// <h3>The page you are looking for was not found</h3>
// <p>
// <a href="/">
// <button type="button">Return to homepage</button>
// </a>
// </p>
// </div>
// )
const Page404 = () => (
<div className="not-found">
<h1>404</h1>
<h3>The page you are looking for was not found</h3>
<p>
<a href="/">
<button type="button">Return to homepage</button>
</a>
</p>
</div>
)

// export default withUnpublishedPreview(Page404, {
// templateMap: {
// // product: ProductTemplate,
// blog_post: BlogPostTemplate,
// // prismicProduct: ProductTemplate,
// prismicBlogPost: BlogPostTemplate,
// },
// })
export default withUnpublishedPreview(Page404, {
templateMap: {
homepage: HomeTemplate,
product: ProductTemplate,
products: ProductsTemplate,
blog_post: BlogPostTemplate,
blog_home: BlogTemplate,
prismicHomepage: HomeTemplate,
prismicProduct: ProductTemplate,
prismicProducts: ProductsTemplate,
prismicBlogPost: BlogPostTemplate,
prismicBlogHome: BlogTemplate,
},
})
29 changes: 21 additions & 8 deletions src/pages/blog.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
import React from 'react'
import { Link, graphql } from 'gatsby'
import { Helmet } from 'react-helmet'
import { withPreview } from 'gatsby-source-prismic'
import usePreviewData from '../utils/usePreviewData'
import Layout from '../components/layouts/index'

const BlogTemplate = ({ data }) => {
export const BlogTemplate = ({ data }) => {
if (!data) return null
const pageContent = data.allPrismicBlogPost
const liveData = usePreviewData(data)

const pageContent = liveData.allPrismicBlogPost
const page = pageContent.edges || {}

const pageLayout = data.prismicLayout.data
const BlogHomeTitle = liveData.allPrismicBlogHome.edges[0].node.data.meta_title.text

const pageLayout = liveData.prismicLayout.data

return (
<Layout layoutData={pageLayout}>
<Helmet>
<meta charSet="utf-8" />
{page.map((item, i) => (
<title key={i}>{item.node.data.title.text}</title>
))}
<title>{BlogHomeTitle}</title>
</Helmet>
<RenderBody posts={page} />
</Layout>
Expand All @@ -26,6 +28,17 @@ const BlogTemplate = ({ data }) => {

export const query = graphql`
query MyQuery {
allPrismicBlogHome {
edges {
node {
data {
meta_title {
text
}
}
}
}
}
allPrismicBlogPost {
edges {
node {
Expand Down Expand Up @@ -97,4 +110,4 @@ const RenderBody = ({ posts }) => (
</>
)

export default withPreview(BlogTemplate)
export default BlogTemplate
12 changes: 7 additions & 5 deletions src/pages/index.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
import React from 'react'
import { RichText } from 'prismic-reactjs'
import { graphql } from 'gatsby'
import { withPreview } from 'gatsby-source-prismic'
import usePreviewData from '../utils/usePreviewData'
import {
CTABanner, FeaturedItems, NumberedItems, Separator, TextBlock,
} from '../components/slices'
import Layout from '../components/layouts/index'

const HomeTemplate = ({ data }) => {
export const HomeTemplate = ({ data }) => {
if (!data) return null
const pageContent = data.allPrismicHomepage
const liveData = usePreviewData(data)

const pageContent = liveData.allPrismicHomepage
const page = pageContent.edges[0].node || {}

const pageLayout = data.prismicLayout.data
const pageLayout = liveData.prismicLayout.data
return (
<Layout layoutData={pageLayout}>
<RenderBody home={page} />
Expand Down Expand Up @@ -221,4 +223,4 @@ const RenderBody = ({ home }) => (
</>
)

export default withPreview(HomeTemplate)
export default HomeTemplate
73 changes: 51 additions & 22 deletions src/pages/preview.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,57 @@
import * as React from 'react'
import { withPreviewResolver } from 'gatsby-source-prismic'
import { graphql, useStaticQuery } from 'gatsby'
import React, { useEffect } from 'react'
import { navigate, useStaticQuery, graphql } from 'gatsby'
import { usePrismicPreview } from 'gatsby-source-prismic'
import { prismicRepo } from '../../prismic-configuration'

import linkResolver from '../utils/linkResolver'

const PreviewPage = ({ isPreview }) => {
if (isPreview === false) return 'Not a preview!'

return <p>Loading</p>
}

export default (props) => {
const data = useStaticQuery(graphql`
query {
sitePlugin(name: { eq: "gatsby-source-prismic" }) {
pluginOptions {
repositoryName
// Note that the `location` prop is taken and provided to the `usePrismicPreview` hook.
const PreviewPage = ({ location }) => {
// Let's use a static query to retrieve all known paths. We'll use it later
// to navigate to the unpublishedPreview page if the document is not
// published.
const { allSitePage } = useStaticQuery(graphql`
{
allSitePage {
nodes {
path
}
}
}
`)
const { repositoryName } = data.sitePlugin.pluginOptions
return withPreviewResolver(PreviewPage, {
repositoryName,
linkResolver: () => (doc) => linkResolver(doc),
})(props)
const allPaths = allSitePage.nodes.map((node) => node.path)

const { isPreview, previewData, path } = usePrismicPreview({
// The repositoryName value from your `gatsby-config.js`.
repositoryName: prismicRepo,
})

// This useEffect runs when values from usePrismicPreview update. When
// preview data is available, this will save the data globally and redirect to
// the previewed document's page.
useEffect(() => {
// If this is not a preview, skip.
// null = Not yet determined if previewing.
// true = Preview is available.
// false = Preview is not available.
if (isPreview === false || !previewData) return

// Save the preview data to somewhere globally accessible. This could be
// something like a global Redux store or React context.
//
// We'll just put it on window.
window.__PRISMIC_PREVIEW_DATA__ = previewData

// Navigate to the document's page if page exists.
if (allPaths.includes(path)) {
navigate(path)
} else {
navigate('/unpublishedPreview')
}
}, [isPreview, previewData, path])

// Tell the user if this is not a preview.
if (isPreview === false) return <div>Not a preview!</div>

return <div>Loading preview...</div>
}

export default PreviewPage
Loading

0 comments on commit f4f09a9

Please sign in to comment.