Skip to content
This repository was archived by the owner on Feb 27, 2024. It is now read-only.

Commit e99f30a

Browse files
committed
ExitPreview component
1 parent c789484 commit e99f30a

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import Link from 'next/link'
2+
3+
/**
4+
* Renders an anchor to exit Preview Mode.
5+
*
6+
* @param {object} props The component as props.
7+
* @param {object} props.preview Checks if a preview exists.
8+
* @return {Element | null} The ExitPreview component.
9+
*/
10+
export default function ExitPreview({preview}) {
11+
if (preview) {
12+
return (
13+
<p>
14+
This page is a preview.
15+
<Link href="/api/exit-preview">
16+
<a>Exit preview mode</a>
17+
</Link>
18+
</p>
19+
)
20+
}
21+
22+
return null
23+
}

components/atoms/ExitPreview/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export {default} from './ExitPreview.js'

pages/_app.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import ExitPreview from '@/components/atoms/ExitPreview'
12
import WordPressProvider from '@/components/common/WordPressProvider'
23
import {useWpApollo} from '@/lib/wordpress/connector'
34
import '@/styles/demo.css'
45
import '@/styles/index.css'
56
import {ApolloProvider} from '@apollo/client'
67
import {SessionProvider as NextAuthProvider} from 'next-auth/react'
7-
import Link from 'next/link'
88
import PropTypes from 'prop-types'
99
import {useState} from 'react'
1010
import 'tailwindcss/tailwind.css'
@@ -72,15 +72,7 @@ export default function App({Component, pageProps}) {
7272
<Custom500 errorMessage={errorMessage} post={componentProps.post} />
7373
) : (
7474
<>
75-
{!!preview && (
76-
// TODO -- abstract this to a component.
77-
<p>
78-
This page is a preview.{' '}
79-
<Link href="/api/exit-preview">
80-
<a>Exit preview mode</a>
81-
</Link>
82-
</p>
83-
)}
75+
<ExitPreview preview={preview} />
8476
<Component {...componentProps} />
8577
</>
8678
)}

0 commit comments

Comments
 (0)