rsnext/examples/cms-agilitycms/lib/use-preview-redirect.ts
Max Proske e955850dd4
Convert cms-agilitycms example to TypeScript (#38976)
Converted `cms-agilitycms` example to TypeScript to match Contribution docs.

## Documentation / Examples

- [X] Make sure the linting passes by running `pnpm lint`
- [X] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)
2022-07-27 19:24:54 +00:00

20 lines
732 B
TypeScript

import { useEffect } from 'react'
import { useRouter } from 'next/router'
export default function usePreviewRedirect() {
const router = useRouter()
const { agilitypreviewkey, contentid } = router.query
useEffect(() => {
// kickout if we don't have an agilityPreviewKey
if (!agilitypreviewkey) return
// redirect to our preview API route
let redirectLink = `/api/preview?slug=${window.location.pathname}&agilitypreviewkey=${agilitypreviewkey}`
// Check if we have a `contentid` in the query, if so this is a preview request for a Dynamic Page Item
if (contentid) redirectLink = `${redirectLink}&contentid=${contentid}`
window.location.href = redirectLink
}, [agilitypreviewkey, contentid])
}