UNPKG

@agility/nextjs

Version:

Agility CMS support for NextJS 14 and Next Image

49 lines (48 loc) 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.handlePreview = void 0; var getParameterByName = function (name) { name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"); var results = regex.exec(location.search); return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); }; var handlePreview = function (handlePreviewProps) { var _a; var previewUrlToUse = "/api/preview"; if (handlePreviewProps && handlePreviewProps.previewHandlerUrl) previewUrlToUse = handlePreviewProps.previewHandlerUrl; if (!process.browser) { //kickout if this is not being executed in the browser return false; } var agilityPreviewKey = getParameterByName("agilitypreviewkey"); if (!agilityPreviewKey) { //kickout if we don't have a preview key return false; } //redirect this to our preview API route var previewAPIRoute = previewUrlToUse; var slug = window.location.pathname; //add the other params back onto the slug so that can be used... var params = new URLSearchParams(window.location.search); params.delete("agilitypreviewkey"); params.delete("agilityts"); params.delete("AgilityChannelID"); slug = "".concat(slug, "?").concat(params.toString()); var previewAPIUrl = "".concat(previewAPIRoute, "?slug=").concat(encodeURIComponent(slug), "&agilitypreviewkey=").concat(agilityPreviewKey); var dynamicPageContentID = parseInt((_a = getParameterByName("ContentID")) !== null && _a !== void 0 ? _a : getParameterByName("contentID")); if (dynamicPageContentID > 0) { previewAPIUrl += "&ContentID=".concat(dynamicPageContentID); } if (console) console.log("Activating preview", previewAPIUrl); setTimeout(function () { //do the redirect window.location.href = previewAPIUrl; }, 2500); return true; }; exports.handlePreview = handlePreview;