next.js/examples/cms-agilitycms/lib/use-preview-redirect.ts
use-preview-redirect.ts21 lines741 B
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]);
}
Quest for Codev2.0.0
/
SIGN IN